10 lines
249 B
Text
10 lines
249 B
Text
(* generate next row from current row *)
|
|
let next_row row =
|
|
List.map2 (+) ([0] @ row) (row @ [0])
|
|
|
|
(* returns the first n rows *)
|
|
let pascal n =
|
|
let rec loop i row =
|
|
if i = n then []
|
|
else row :: loop (i+1) (next_row row)
|
|
in loop 0 [1]
|