タグ

2009年6月14日のブックマーク (5件)

  • Scheme:マクロの効用

    普通のやつらの上を行けでLispにおけるマクロの効用が述べられているが, 「じゃあ具体的にマクロを使って『こりゃ便利だ』っていう例を見せてよ」 と言われてもなかなかすぐに出て来ない。 そこで、なんかいいマクロの使用例を思い付いたら書いてってみるコーナー。 通りすがりのマクロ初心者です。便利なマクロの具体例はすごく知りたいので、この項、期待してます。 Paul Graham「On Lisp」を読書中でなかなか良いけど、日語の解説があった方が理解が早まるので。 もくじ マクロを使う局面定型パターンの簡略化関数呼び出しのインライン展開の代用新しい構文による抽象化ミニ言語の埋め込み宣言的なコードに見せるコンパイル時の処理具体例クラス定義でのリーダーの生成リストの内包表記 (List comprehension)リストの構築他の処理系の移植 関連:Scheme:マクロの危険 マクロを使う局面 なん

  • SICP memo: stream.scm

    3.5節で使う stream 関数(Gauche で動作確認済。ここでは Gauche の delay/force 実装を使わない) delay の定義を memo化しないものに入れ替えた stream-nomemo.scm を用意しておくと後々便利。 (define-macro (delay x) `(memo-proc (lambda () ,x))) ; memoizeあり ※stream-nomemo.scmではOFF ;(define-macro (delay x) `(lambda () ,x)) ; memoizeなし ※stream-nomemo.scmではON (define (force x) (x)) (define-macro (cons-stream a b) `(cons ,a (delay ,b))) (define (stream-car stream) (

    rsakamot
    rsakamot 2009/06/14
    Gauche用stream
  • SRFI 45: Primitives for expressing iterative lazy algorithms

    Title Primitives for Expressing Iterative Lazy Algorithms Author André van Tonder Status This SRFI is currently in ``final'' status. To see an explanation of each status that a SRFI can hold, see here. You can access previous messages via the archive of the mailing list. Received: 2003/09/20 Draft: 2003/09/23-2003/12/23 Revised: 2003/12/20 Revised: 2004/03/06 Final: 2004/04/05 Bug fix: 2004/08/04

    rsakamot
    rsakamot 2009/06/14
    lazy delay force
  • Top (Gauche Users’ Reference)

    Top This is a reference manual of Gauche, an R7RS Scheme implementation.

    rsakamot
    rsakamot 2009/06/14
    stream
  • sicp : Serendip – Webデザイン・プログラミング

    最後のC言語での実装の2問が残っているけれども、一旦これで終了とする。 2008年の11月に開始したので約1年と1ヶ月ちょっとかかったことになる。 計算機プログラムの構造と解釈 posted with amazlet at 09.12.29 ジェラルド・ジェイ サスマン ジュリー サスマン ハロルド エイブルソン ピアソンエデュケーション 売り上げランキング: 119177 Amazon.co.j…続きを読む