top page > computer > haskell > web_lecture > for_programmer > nsc_ltt.html
更新日:
文責: 重城良国

Nano Scheme: 演算子<の定義

(工事中 30%)

はじめに

演算子<を追加する。

演算子<の追加

Primitive.hs

整数の2項演算子を追加するのは簡単だ。

env0 = fromList [
.
.
.
("<", Subr . int2 $ (Bool .) . (<))
]

試してみる

% echo 'nsc (define (fact n) (if (< n 1) 1 (* n (fact (- n 1))))) (fact 10) | runghc -Wall -fno-warn-tabs nsc.hs
fact
3628800
% echo 'nsc (define (fib a b n) (if (< n 1) a (fib b (+ a b) (- n 1)))) (fib 0 1 10) (fib 0 1 100)' | runhaskell -Wall -fno-warn-tabs nsc.hs
fib
55
354224848179261915075

Hubotでも同じように試してみよう。

まとめ

演算子<を追加した。階乗計算やフィボナッチ数列の関数が書ける。

「Nano Scheme: 構文if」へもどる 「型クラス: 条件分岐をわかりにくくする」へ

正当なCSSです! HTML5 Powered with CSS3 / styling, and Semantics