タグ

LispとSICPに関するkarahiyoのブックマーク (3)

  • Clojureの学習でSICPは使えるかと問われ、Rich曰く、 - @katzchang.contexts

    最初の文章のまま載せていますので、コメント欄のshiroさんの添削と合わせてどうぞ: 一概には言えないが、2点だけ。 僕は、SICPはプログラミング言語のじゃなくて、あれはプログラミングのなんだと思ってる。の中でSchemeを使っているのは、アトミックなプログラミング言語だからなんだ。ラムダ計算、末尾再帰、継続を使った抽象制御、抽象構文(マクロ)、可変状態など。軽量で、かつ十分だ。 SICPでは、プログラミングをする上での課題を扱っている。モジュラリティ、抽象、状態、データ構造、並列処理など。generic dispatchやオブジェクト、並列処理、遅延リスト、(可変な)データ構造、「タギング」なんかの、明確な課題設定に対する実装例と解説が書いてある。 Clojureはアトミックなプログラミング言語じゃない。僕はもう、アトミックにプログラミングするのは古くて遅くて飽きた。Clojur

    Clojureの学習でSICPは使えるかと問われ、Rich曰く、 - @katzchang.contexts
  • 「計算機プログラムの構造と解釈」のためのプログラミング環境 | 林檎生活100

    Scheme を深く理解するために、「計算機プログラムの構造と解釈」を購入しました。「SICP」という略称や「魔術師」という俗称でも知られているこのは、かつて MIT のコンピューター科学科におけるプログラミングの入門講義で教科書として使用されていました。読み進めるにあたり、問題に解答するためにプログラミング環境が必要になったので、その環境を Mac OS X 上で構築する方法を記事にまとめました。 目次 Racket のインストール SICP Support for DrRacket のインストール SICP Support for DrRacket の使用方法 例:写真の描画 1. Racket のインストール Racket の Web サイトにアクセスし、下記のスクリーンショットの手順で、Racket をダウンロードします。なお、この記事では Racket 5.3.3 を使用しま

  • もうひとつの Scheme 入門

    勾配の緩やかな初心者向け Scheme 入門ページです。 コンピュータは使ったことがあるが、プログラミング経験があまりない人を想定しています。 Scheme の解説はすでに山ほど優れたものがありますが、あえて解説記事を書いてみました。 Scheme のような抽象的な話題は波長が合えばすんなりと理解できますが、あわないと全く理解できません。 他の解説を読んで今ひとつよく理解できなかった人は試しに読んでみてください。 この記事の目標はコンピュータ科学の教科書の決定版である SICP を読める程度の Scheme の知識を提供することです。 目次: 処理系のインストール Scheme を電卓代わりに使う リストを作ろう 関数を定義しよう 分岐 局所変数 繰り返し 高階関数 入出力 代入 文字、文字列 シンボル型 連想リスト、ハッシュ表 ベクトルと構造体 構文の定義 (マクロ) 継続 遅延評価 非

  • 1