「48時間でSchemeを書こう/Scheme関数の定義」の版間の差分
削除された内容 追加された内容
M編集の要約なし |
M編集の要約なし |
||
1 行
さて、私たちは変数を定義できるようになったので、関数をもっとよく拡張することができるでしょう。このセクションのあとに、私たちはSchemeの中でオリジナル関数を定義し、他の関数から
新しいLispValコンストラクタを定義するところから始めましょう。
95 行
これらは、かたちを解きほぐすためのパターンマッチングを使って、適応する関数の手助けをします。この定義の場合ですと、私たちは同様に、ローカル環境の中で変数を束縛できるよう、アウトプットをdefineVarに流し込みます。私たちは同様に、liftHtrowsを外すために、関数を適応する節を編集する必要があります。というのは、applyは既にIOThrowsErrorかモナドの中で動いているからです。
さて、コンパイルして、プログラムを走らせることが
debian:/home/jdtang/haskell_tutorial/code# ghc -package parsec -fglasgow-exts -o lisp [../code/listing9.hs listing9.hs]
|