タグ

schemeに関するuokadaのブックマーク (12)

  • Lispを実装したくなったら読んでほしい本6選 - Arantium Maestum

    言語実装 Advent Calendar 2022の1日目の記事として書いた。 Lisp Advent Calendar 2022でも枠が空いていたのでダブル投稿。 プログラミング言語を実装してみたい!と思ったらまずは簡単なLispインタプリタから始めるというのは一つの王道だと思う。 複雑な構文解析は要らず最低限の再帰下降法パーサで手に入る構文木を、そのまま再帰的な関数で実行していくtree walking評価器。メモリ確保もヒープにそのまま置いていって、メモリ解放は実装言語のGCに任せるなりプログラムの終了時までやらなかったり。そんなインタプリタを作る経験から得られるものは非常に大きく、どんなプログラマでも一回は試してみてもいいのではないか?と思っている。(個人的な感想です) そんな簡易Lispを実装してみて沼にハマってしまい、より精緻な言語処理系を作りたいと思ったとする。その時点で:

    Lispを実装したくなったら読んでほしい本6選 - Arantium Maestum
    uokada
    uokada 2022/12/01
    "言語実装 Advent Calendar 2022の1日目の記事として書いた。" このカレンダーのエントリー全部読みたい。
  • とほほのLISP入門 - とほほのWWW入門

    1958年に MIT の John McCarthy によって設計されました。 FORTRAN(1954年)や COBOL(1959年)と肩を並べる、歴史の長いプログラミング言語です。 命名は「list processor」に由来していて、リストを主要に扱っています。 文と式の区別が無く、IF文などもすべて式として扱います。 演算子と関数の区別もなく、例えば 3 + 5 の加算は + 関数を用いて (+ 3 5) のの様に表します。 Common List, Scheme, Emacs Lisp などいくつかの方言があります。 Emacs という UNIX 上のテキストエディタのカスタマイズ言語としても利用されていました。 Common Lisp は ANSI INCITS 226-1994 として定義されており、現在の主流となっています。 Common Lisp にも SBCL(Stee

  • Lisp入門 - WisdomSoft

    Lisp入門 この講座は Common Lisp(ANSI X3.226-1994) に準拠しています。 Common Lispとは? 関数と式 数値データ 文字データ 変数 リスト リストの評価 値の比較 if特別式 progn特別式 condとcase tagbodyとgo ブロック 繰り返し処理 関数の定義 戻る

  • 人力検索 - 関数型言語(プログラミング言語Scheme, Haskellなど)を勉強しようと思っています。 関数型言語の勉強方法

    関数型言語(プログラミング言語Scheme, Haskellなど)を勉強しようと思っています。 初心者にも関数型言語のメリットや考えかたがスラスラ分かる勉強の材料を教えてください。 言語の習得よりも、関数型言語の考え方の習得に重きを置いています。 例えば - このを読め - このサイトを読め のように、入門から実用レベルまできちんと筋の通ったものをお願いします。 ちなみに 以前Schemeを勉強しましたが末尾再起辺りでなんとなくうやむやになってしまいました。 あと「計算機プログラムの構造と解釈」は僕には難しすぎでした。

  • Scheme -- 犬飼 大

    x ...インストールできませんでした。 / ...インストールしていません。 * 現在(6.0-CURRENTと5.3-STABLE)はシステムのCコンパイ ラーに過渡的な問題があり、SCMをportsからインストールしようとし てもbrokenマークが付けられてインストールできないように見えてい ます。/usr/ports/lang/scm/Makefileを書き換えてbroken行を外し、 makeに引数を渡してコンパイルすれば動作するSCMを作成できますの で、次を参照して下さい http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/71684 ** 6.0-CURRENT % cc -v Using built-in specs. Configured with: FreeBSD/i386 system compiler T

  • OOエンジニアの輪! 〜 第 21 回 川合史朗 さんの巻 〜

    Hope is a good thing, maybe the best of things, and no good thing ever dies. (希望は良いもの、おそらく最上のものだ。そして、良いものは決して消えない。:『ショーシャンクの空に』より) 高林さんとのつながり -- 今回は、高林さんからのご紹介ですが、どういったつながりですか? 実は、直接お会いしたことは一度もないんです。一番最初はですね、Paul Graham の『Beating the Averages』 っていうのを、私が翻訳(邦題『普通のやつらの上を行け』)させて頂きまして、それの感想をメールで頂いたのがきっかけです。それから、私が開発している Scheme 処理系(Gauche)を使って頂いています。 -- 川合さんにとって翻訳って、あれは自分で読んで面白いものをみんなに見てもらう、っていうところですか?

    OOエンジニアの輪! 〜 第 21 回 川合史朗 さんの巻 〜
  • プログラマは皆どのようにしてLisperと化して行くのか?

    LispでWebサービスを作ればYahoo!に60億で買ってもらえると聞いて 実はCと同じくらい速いコードが書けると聞いて ルンバがLispで書かれていると聞いて リリカルなので 面接で笑われてカッとなった マンガでわかるらしいので iPhoneアプリが開発できると聞いて iアプリでLispが書けると聞いて 初めて手に入れたポケコンがAI-1000だった ハッカーと画家を読んでしまった 普通のやつらの上を行きたいので 舌足らずなので セグウェイを制御するコードが一日で書けるようになると聞いて How to become a Hackerを読んだ 専用の求人情報に応募できると聞いて プログラミングClojureを読んだ 初めての人のためのLispを読んだ 自前のLispで書かれた将棋が強かったので LispとPostScriptがあればハッピーになれると聞いて LOLの熱にあてられた On

    プログラマは皆どのようにしてLisperと化して行くのか?
  • 「計算機プログラムの構造と解釈(SICP)」を読み終えて by なつたん - なつたん

    ひげぽんさんの所をパクってテンプレートにして書いてみました。 練習問題をスキップしつつ、私も約半年でで読み終えました。とても楽しい日々を過ごすことができました。 SICPを読む過程で得たもの ・遅延評価とstream ・制約プログラミング、ロジックプログラミング、amb ・Emacs(Meadow)+gauche+Quackの組み合わせ便利 ・同じ事を表現するのに、抽象度を上げたり、下げたりできること。 ・手加減してあればLispのソースも追えるようになった。手加減していないのは駄目。 ・Lisp特有の、手続きを評価する→S式ができる→また評価する→S式ができる、という気持ち悪い再帰の存在。 ・SICP読み仲間ではないけどいろんなblogつながり。組み込みとFPGAだけでない、いろんな世界がある事をあらためて感じた。 SICPを読みはじめたときの動機を振り返る ・関数型言語について Lis

    「計算機プログラムの構造と解釈(SICP)」を読み終えて by なつたん - なつたん
  • SICP Web Site for the Japanese Edition

    魔術師:   (名詞)    MITの入門コースで使う計算機科学の優れた教科書 ハル・エイブルソン, ジェリー・サスマン, ジュリー・サスマン共著(和田英一訳)「計算機プログラムの構造と解釈 第二版」(ピアソン・エデュケーション 2000年).   表紙の魔術師ゆえにそういわれる.   LISP/Scheme世界の聖典のひとつ.    まれに紫としても知られている. ハッカー英語辞典 第2版(MITプレス 1993)より λλλ 計算機プログラムの構造と解釈 第二版 λλλ λλλ(Structure and Interpretation of Computer Programs Second Edition) λλλ λλλ に関連するホームページ λλλ λ 訳者跋文 λ 正誤表 λ 人名地名考 Ben Bitdiddle, Alyssa P. Hacker, Sl

  • SICP(計算機プログラムの構造と解釈)を読み終えて : Serendip – Webデザイン・プログラミング

    最後のC言語での実装の2問が残っているけれども、一旦これで終了とする。 2008年の11月に開始したので約1年と1ヶ月ちょっとかかったことになる。 SICP を読む過程で得たもの 1章で scheme での基的なプログラミングに慣れて、カッコの存在を忘れることが出来た。 弟子が尋ねた。「先生、私は先生がカッコをまるで魔術師のように扱っているのを常々敬服しています。どうすれば先生のようになれるのでしょうか?」 師「えっ?カッコ?あ、そうか。そんなものもあったな。いやあ、すっかり忘れておったわ」 このあたりでは、まだ再帰に慣れていなくて、末尾再帰の意味もよく解ってなかった。 また、高階手続きを普通に使えるようになった。 2章で抽象化の有用性やその導入方法を理解できた。 1章2章は数学的な知識が必要な部分も多く、その部分で苦労した。 2章のデータ抽象や3章の環境モデルでオブジェクト指向の舞台裏

  • Structure and Interpretation of Computer Programs

    Wizard Book n. Hal Abelson's, Jerry Sussman's and Julie Sussman's Structure and Interpretation of Computer Programs (MIT Press, 1984; ISBN 0-262-01077-1), an excellent computer science text used in introductory courses at MIT. So called because of the wizard on the jacket. One of the bibles of the LISP/Scheme world. Also, less commonly, known as the Purple Book. from The New Hacker's Dictionary, 2

  • Welcome to the SICP Web Site

    Wizard Book n. Hal Abelson's, Jerry Sussman's and Julie Sussman's Structure and Interpretation of Computer Programs (MIT Press, 1984; ISBN 0-262-01077-1), an excellent computer science text used in introductory courses at MIT. So called because of the wizard on the jacket. One of the bibles of the LISP/Scheme world. Also, less commonly, known as the Purple Book. from The New Hacker's Dictionary, 2

  • 1