タグ

schemeに関するa2ikmのブックマーク (6)

  • RubyでSchemeの処理系を書いてみた - There's an echo in my head

    つくって学ぶプログラミング言語 RubyによるScheme処理系の実装を4章まで読んで、実際に実装してみた。 a2ikm/scheme_r 文字列どうするんだろうとか、REPLしょぼいなーとか、一つのクラスにほとんど処理ツッコんでるなーとか、さらに5章ではこの処理系で自分を実装してみるらしいけど、ひとまず。

    RubyでSchemeの処理系を書いてみた - There's an echo in my head
  • Scheme 入門 3. リストを作ろう

    コンスセルは 数珠つなぎにすることができます。 > (cons 3 (cons 1 2)) (3 1 . 2) (3 1 . 2) というのは (3 . (1 . 2)) の省略形です。 このとき、メモリーは図2の様になっています。 また、違う種類のデータを組み合わせることもできますし、入れ子にすることもできます。 > (cons #\a (cons 3 "hello")) (#\a 3 . "hello") > (cons (cons 0 1) (cons 2 3)) ((0 . 1) 2 . 3) このようなことができるのは、Scheme が全てのデータをアドレスで管理しているからです。 ちなみに #\c は c という文字を表します。 例えば #\a は a という文字を表します。 2.2. リスト 一番最後のコンスセルの cdr 部が '() になった一連のコンスセルをリストと呼び

  • つくって学ぶプログラミング言語 RubyによるScheme処理系の実装

    プログラミングをより深く理解するための近道は、プログラミング言語を実装してみること。SchemeのサブセットをRubyで実装していくことで、プログラムはどう実行されるのか、その基がはっきり分かります。 ※書はCC BYにより配布されています。上記の「買い物かごへ」ボタンからは有償で購入できます。無料で入手したい場合は、下記リンクよりダウンロードしてください。なお、有償版も無償版も内容は同一です。 EPUB版PDF版内容紹介プログラムは書けても、その基礎となっている計算機科学(コンピュータサイエンス) の理解があやふやな人を、著者は多く見てきました。プログラミングに自信があるという人が、もう一歩先に進める道を示したいというのが、この文書を書き始めた動機です。 この文書を読むことで次の効果が得られることを期待しています。 プログラミング言語とは何かを深く理解することで、プログラミングのレベ

    つくって学ぶプログラミング言語 RubyによるScheme処理系の実装
  • Scheme - Wikipedia

    この中でカール・ヒューイットが設計した規則ベースの言語 Planner はあまりに複雑な機構を持っていたため当初設計された全機能の実装は困難であり[注釈 9]、サスマン等はそれをサブセット言語の Micro-Planner として実現し、さらには、 Planner の流れを汲んだ独自言語として Conniver を作成した。 同じくカール・ヒューイットが設計したアクタ言語 Plasma (Planner-73) も複雑な機構を持っていたため、MacLisp による実装が存在したものの、その動作の仕組みを理解するのは困難であった。サスマン及びガイ・スティール・ジュニアは Plasma を理解するために、不要な機能を省いた LISP 構文を持つ小さな Plasma を設計した。 上記の Plasma からその小さな Plasma の設計に至る過程は Planner から Micro-Plann

    Scheme - Wikipedia
  • mootoh.blogger: Scheme interpreter on iPad/iPhone

  • 1