って OCaml ではどう書けばいいんだろう。
Haskell では簡単に [1..10] と書ける。
Prelude> [1..10] [1,2,3,4,5,6,7,8,9,10]
これなら10といわずいくつまででも簡単だ。だけど OCaml こういう書き方はできないらしい。
# [1..10];; Characters 4-6: [1..10];; ^^ Syntax error # [1;;10];; Characters 2-4: [1;;10];; ^^ Syntax error
ともかく関数を書いてみた。
# let rec list_of_int f t = if f > t then [] else f :: list_of_int (f+1) t ;; # list_of_int 1 10;; - : int list = [1; 2; 3; 4; 5; 6; 7; 8; 9; 10]