「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]