SICPのようなパターンマッチングを使ってScalaで象徴的な微分関数を作りたいと思います。 differentiate(exp) = exp match
{
case + =>
case * =>
}
は「ネイティブ」の表現にScalaで、このことが可能です:私はこのような何かを書くことができるようにしたいと思いますか?
構造と解釈コンピュータプログラムの私が読んでいる本はゼロを定義することによって、教会の数字を提示し、インクリメント機能 zero: λf. λx. x
increment: λf. λx. f ((n f) x)
これは私にはかなり複雑なようで、それが数字に私には本当に長い時間がかかりましたそれを取り出して1つ(λf.λx. f x)と2つ(λf.λx. f (f x))を得ます。 空のラム
プロンプトは、3つの数字のうち大きい方の2つの数字の正方形の合計を返すプロシージャを定義することです。 私は、これは正確にエレガントな解決策ではないですけど、これは私が一緒にハッキングものです:私はエラーを取得していますなぜ (define (largest-of-two-sum-of-squares x y z)
(cond ((and (< x y) (< x z)) (sum-o