Если у меня есть функция f и поток s. Как я могу применить эту функцию к потоку. Похоже на то, как будет работать List.map.
Это бесконечный поток любого типа:
type 'a stream = Cons of 'a * (unit -> 'a stream)
Я придумал это, что, безусловно, неправильно, но, по крайней мере, оно отражает то, что я пытаюсь сделать
type 'a stream = Cons of 'a * (unit -> 'a stream)
let rec map f (cons(x,xsf)) = f x then map f (xsf)