タグ

rubyとlangに関するyuguiのブックマーク (29)

  • The MIR C interpreter and Just-in-Time (JIT) compiler | Red Hat Developer

    For the past two years I've worked on a project implementing a universal lightweight Just-in-Time (JIT) compiler known as MIR. The cornerstone of the project is a machine-independent medium-level intermediate representation (MIR). A big part of the project consists of code that compiles C source code into MIR. Because MIR can be interpreted and just-in-timed, I easily extended this C-to-MIR compil

    The MIR C interpreter and Just-in-Time (JIT) compiler | Red Hat Developer
  • README.md

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    README.md
  • Matz「Rubyの一番悪い点はPerlの影響」!? 次世代の言語の話も盛りだくさん #yapcasia #yapcasiaA

    まとめ YAPC::Asia Tokyo 2015 #yapcasia 全セッション総まとめ 前夜祭から大盛り上がりの様子を完全まとめしていきます。実況ツイートはトラック毎のハッシュタグ付き推奨! #yapcasia / 全体 #yapcasiaA / トラックA (国際会議場) #yapcasiaB / トラックB (701-702) #yapcasiaC / トラックC (703) #yapcasiaD / トラックD (605-606) #yapcasiaE / トラックE (607-608) #yapcasiaDinner / 懇親会 (レセプションホール) 16514 pv 94 39 users 57

    Matz「Rubyの一番悪い点はPerlの影響」!? 次世代の言語の話も盛りだくさん #yapcasia #yapcasiaA
  • Rubyで俺指向言語Qのプロトタイプ作った - Qiita

    fooo↑↑ 動機 僕はただの数学/統計系の学部生で、RやMathematicaなどの言語を強いられる事が多いのですが、 RubyやHaskellやScalaなどのステキな言語を知っていると「ちょっとな〜」と思っておりましたところ、 突然「あ、新しい言語作らなアカン」という不可思議な衝動に駆られ ガッと取り憑かれたように実装し、少し冷静になってQiitaを書いているのが今です. フィードバックを頂きながら育てて行きたいと思います(コミッター絶賛募集中、ワイワイ楽しくやりたいです. アメちゃん差し上げるのでお願いします. ) 現在はコンパイラと4秒くらいで作ったインタプリタがあります. ポリシー 一番大きな観念としては 「紙とペンの感動をキーボードで」 です. 後々の可読性や保守性などはどうでもよくて、 「その瞬間(コードを書いている瞬間)の気持ちよさ、心地よさ、そしてその返値を楽しむ事」

    Rubyで俺指向言語Qのプロトタイプ作った - Qiita
  • RubyはメッセージのないSmalltalkか、に関するまとめ

    Smalltalk-Squeakの日における先駆者の@abee2さんの発言に端を発した@sumimさんの発言を受けて@yukihiro_matz さんが直接回答。この会話をまとめました(2010/09/28)。 イテレータの話題に移っています。そのあたりを追加しました。発端の発言も追加しました。(2010/09/29)

    RubyはメッセージのないSmalltalkか、に関するまとめ
  • 言語の制約に頼るべきか?開発者の責任に頼るべきか?

    原文(投稿日:2009/7/17)へのリンク プログラミング言語は、完全な柔軟性をもって開発者が好きなようにいじり回せて、開発者が自分でやったことには責任をもつと信じるべきなのか?それとも悪いコードやメンテナンス性や可読性をさげてしまうような失敗を避けるために、設計時に言語の中に明確な制約を設けるべきなのか? Bruce Eckel氏は、ある種の機能は複雑すぎて、結局のところ、ほとんど使われないと考えている。 実行時のモデルが存在しないC++(コンパイルすると全てネイティブのコードに変換されて、Cとの互換性をもたなければならない)では、テンプレートによるメタプログラミングが現れました。そんな制約があったので、テンプレート・メタプログラミングはとても複雑で、ほとんど誰も、どう扱ってよいかわからなかったのです。 Javaは実行時のモデルを持ち、動的にコードの変更を行う方法すらあります。しかし言

    言語の制約に頼るべきか?開発者の責任に頼るべきか?
  • C++0x ユーザー定義リテラル - Faith and Brave - C++で遊ぼう

    C++0x で提案されているユーザー定義のリテラルを使用すると以下のようなことができるようになる "Hello"s // std::string 101011100011b // binary literals 123km // unit is kilometers リテラルを定義するには、以下のような演算子を定義する X operator""suffix(const char*); X x = 1234suffix; // operator"suffix"("1234"); この場合、operator""suffixの引数は NULL 終端の文字列となる Variadic Templates を併用すると、リテラルを char 型の コンパイル時定数とすることができる template <char...> X operator""suffix(); X x = 1234suffix; /

    C++0x ユーザー定義リテラル - Faith and Brave - C++で遊ぼう
    yugui
    yugui 2008/10/04
    やっぱりRubyにもほしいね
  • 2008-09-23 - プログラミング日記 [一般] 〜使い

    最近『初めてのRuby』を読んでいる。Pythonのメソッドの第一引数にselfを書かなくてはいけないが、Rubyと対比して理由がなんとなく分かったので検討してみる。 まずPythonではRubyと同様、インスタンスメソッドとトップレベル関数の区別がない。Pythonではメソッドと関数という呼び方をする。関数およびメソッドは単なるオブジェクトの属性である。つまりメソッドはクラスオブジェクトのcallableな属性、関数はモジュールオブジェクトのcallableな属性である。Pythonでも全てがオブジェクトなので、この区別をしないということが重要となる。 ここで、以下のクラス定義を考えてみる。 >>> class Foo: ... a = 1 ... def foo(self): ... a # エラー (1) ... Foo.a # OK (2) ... self.a # OK (3)

    2008-09-23 - プログラミング日記 [一般] 〜使い
  • Sapphire - Two New Re-Implementations of Ruby

    Rather coincidentally, two different re-implementations of Ruby (a new interpreter and a new language, respectively) with the name of Sapphire have appeared on my radar recently. They're both worth mentioning, so why not put them together? Sapphire #1 - A Fork of the Official Ruby Interpreter (MRI) The first Sapphire is, quite unusually, a fork of the official Ruby interpreter (that is, Matz's Rub

  • 404 Blog Not Found:惰訳 - プログラムは大変だ、スクリプトにしよう - 過去篇

    2007年12月13日00:15 カテゴリ翻訳/紹介Lightweight Languages 惰訳 - プログラムは大変だ、スクリプトにしよう - 過去篇 ああ、訳しきれないとわかりつつも訳さずにいられない。 perl.com: Programming is Hard, Let's Go Scripting... by Larry Wall とりあえず過去篇だけ。現代篇と未来篇はちょっと大変すぐる.... Dan the Perl-Monging Translator 過去 もし過去にさかのぼってAda Lovelaceにスクリプトとプログラムの違いについて尋ねたら、彼女はけげんな顔でこう答えたでしょう。「そうね、スクリプトは俳優に渡すものよ。プログラムは、観衆に渡すもの」。Adaは聡明な淑女でした。 彼女の時代から時を経て、「スクリプティング」という言葉の持つ意味は混沌としてきています

    404 Blog Not Found:惰訳 - プログラムは大変だ、スクリプトにしよう - 過去篇
    yugui
    yugui 2008/01/29
    Larryの文
  • List は Array にあらず : 404 Blog Not Found

    2007年05月19日18:00 カテゴリLightweight Languages List は Array にあらず 無謀というより、もともと違うものを一緒にすることはないと思う。 Matzにっき(2007-05-07) こういうの(Lazy List)を将来のArrayクラスに突っ込みたいんだけど、無謀かなあ。 そう。もともとListとArrayは別物なのだから。 確かに、List(リスト)とArray(配列)には、Ordered Collection of Data -- 順番に並んだデーター --という共通点がある。この共通点があるが故に、特にLLにおいてはどちらも同じように扱われる場合が多いけれども、重要な違いが一つある。 Listが Sequentially Accessible なのに対し、 Array が Randomly Accessible だというのが、その違いだ。

    List は Array にあらず : 404 Blog Not Found
  • L&#39;eclat des jours(2006-11-29)

    _ Cometの続き 今頃になって、足跡ライブの仕組みを読んだりして。で、ホスト名をロングポーリング側と送信側で分離するというあたりで2コネクション制限に触れていることを知った。 てのとは別にomoさんに教えてもらったBayeuxを眺めてJuggernautみたい(というか、Juggernautが影響下にあるのかも知れないけど)だなと思ったり。 で、どうすれば、同じホストに対するページ(windowオブジェクトということになるのかな)間で他のページがすでにホストへポーリング出してることを知ることができるのかを調べるとこで停滞中。ツリー上に作れるのならルートにあたるwindowが持てば良いということはわかるんだが、クローンした場合はどうやるんだろうか。 _ COBOL COBOLってDSLぽい。 move a to b. add c to b. set index to 1. しかもカラムの

    yugui
    yugui 2006/11/29
    でしょでしょ? 違うのはCOBOLではActiveSupportは作れないこと。railsの未来を探るためにはCOBOLを知らねばと思ってる。
  • Visualization of Ruby's Grammar

    Posted by Nick Sieger Fri, 27 Oct 2006 16:48:00 GMT As part of the momentum surrounding the Ruby implementer’s summit, I have decided to take on a pet project to understand Ruby’s grammar better, with the goal of contributing to an implementation-independent specification of the grammar. Matz mentioned during his keynote how parse.y was one of the uglier parts of Ruby, but just how ugly? Well, jud

    yugui
    yugui 2006/10/31
    shift/reduceを矢印で書き表したっぽい
  • 満足せる豚。眠たげなポチ。:Paul Grahamのプログラミング言語観・その3

    「Paul Grahamのプログラミング言語観・その1」と「Paul Grahamのプログラミング言語観・その2」の続き。 昨夜書き終えてストックしていたネタなのだが、うちにしてはめずらしく気の利いたタイミングでのエントリとなった。 プログラミング言語はデザインをするものを妨げるべからず これは、やりたいことだけに集中できるということだ。プログラミングは創造的作業だ。プログラマが来やるべきは、ソフトウェアをデザインすることで、そのために力を注ぐべきである。 プログラムというものは、証明のように、もともと様々な間違いの枝がそこいらじゅうに生えていた木の枝をきれいに刈り込んだものだ。だから言語の良さを測るには、完成したプログラムがどれだけ綺麗かを見るだけじゃだめで、プログラムが完成へと至った道筋がどれだけ綺麗だったかをみなければいけない。 from "デザインとリサーチ ---Design

  • 釣りにマジレスかっこわるい! (recompile.net)

    yugui
    yugui 2006/10/03
    いや、あれはやってもらわないと困る。反応してもらえない電波発言は悲しいじゃないですか
  • 2006-08-27 - 矢野勉のはてな日記

    yugui
    yugui 2006/09/12
    "フェイルファスト性は、Javaとライトウェイト言語の差違でもある「強固な型制約」と「コンパイルしないと実行できない」という制約がもたらしてくれる" 結局だれをターゲットにするかだよね。考えどころ。
  • やむにやまれず「凝り固まった旧世代の脳味噌」

    いやはや、すばらしいですね、純オブジェクト指向言語って。 最近は、Rubyという言語の習得に時間を割いています。 今日はブロックとProcを理解しました。 自分の言葉として体得するのは今一歩だが、この仕組みだけでJavaやらC#やら超えていると感じたところ。 そして色々調べたりコード動かしたりしてみるんだけれども、どうも何か…昔ほど飲み込みがよくないわけです。 歳のせいにはしたくないので、学習能力がどの年齢でも一定であると仮定してその理由について考えてみました。 昔は、Z80や8086系のCPUをいじっていたこともあって、どんな言語が出ても、いつしかアセンブリ言語レベルで理解できるものだから、書き方に慣れれば何でも使えるんだ、と豪語していたりもしました。 アセンブリ言語から初めて、C言語、C++Javaと進んでいくと、オブジェクト指向までの思考がつながっていくので、いつでもア

  • プログラミングと開発者のためのCodeZine:Rubyで作るProlog処理系(Ruby, Prolog, 記号処理, 自動推論)

    はじめに 1970年代にヨーロッパを主な舞台として生まれ育ったプログラミング言語Prologprogramming in logic)は、事実とルールから一種の自動推論を行う点に特徴があります。その基的な動作は200行ほどのRubyプログラムで実現できます。ここでは、筆者がRubyで作成したProlog処理系を解説します。 Prologによる簡単なプログラム例を下記に示します。 これは「ソクラテスは人間(human)である」「プラトンは人間である」という事実と、「人間ならばいつか死ぬ(mortal)」というルールを書いたものです。mortal(X) :- human(X)は、変数Xが実際には何であったとしても、もしもhuman(X)が成り立つならば(つまりXが人間ならば)、mortal(X)が成り立つ(つまり、Xはいつか死ぬ)という意味です。 簡略化のため、処理系ではRubyの構文要

  • Smalltalk と Ruby と LISP のシンボル - Smalltalkのtは小文字です

    Smalltalk も Ruby も LISP もシンボルの質は、いずれも“インターンされた文字列”です。インターン(intern)にはよい訳語を思いつかないのですが、簡単には「登録され管理された…」という感じでしょうか。しかし、実装や振る舞いは必ずしもそのとおりにはなっていません。特に文字列だと意識して扱う際には注意が必要でしょう。 注意:ここでの「Smalltalk」とは Squeak の Smalltalk を指します。他の Smalltalk 処理系(特に、デファクト・スタンダードの VisualWorks や ANSI 準拠のお手製 Smalltalk 処理系)では異なる挙動を示すとのご指摘を受けましたので、お詫びして修正、以下の項目に追記をさせていただきます。 Smalltalk のシンボル Smalltalk のシンボルは、“等価なら常に同一で、イミュータブルな文字列”とい

    Smalltalk と Ruby と LISP のシンボル - Smalltalkのtは小文字です
    yugui
    yugui 2006/08/06
    シンボルとは何か議論
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
    yugui
    yugui 2006/06/22
    Bruce Tate