Nat
Nat
Scillaは自然数Natを扱えます。
Zero または Succ Natを用いて利用します。
下記は自然数3を示しています。
let three =
let zero = Zero in
let one = Succ zero in
let two = Succ one in
Succ two
ScillaのNatには再帰処理が定義できます。
'Tは型変数です。
nat_fold : ('T -> Nat -> 'T) -> 'T -> Nat -> 'T
先に説明したlist_foldl(List)と同様に、nat_foldは初期'T型と、Natと'Tを引数として新しい値を返す関数です。この関数は'T -> Nat -> 'Tを持ち、すべての自然数を反復します。