Jak wygenerować listę rekurencyjną w OCaml
Chciałbym wdrożyć analog Haskellacycle
funkcjonować.
Jeśli jawnie przekazuję elementy listy, wydaje się to banalne:
let cycle a b c =
let rec l = a::b::c::l in
l
cycle 1 2 3
generuje listę rekurencyjną1, 2, 3, 1...
Ale jak wygenerować listę rekurencyjną na podstawie innej regularnej listy?
let cycle lst = ...
Stosowanie
cycle [1;2;3]