Mi sembra di ricordare una versione precedente di F # che consente la scomposizione strutturale quando si confrontano le sequenze come le liste. C'è un modo per usare la sintassi delle liste mantenendo la sequenza pigra? Sto sperando di evitare un sacco di chiamate a Seq.head e Seq.skip 1.È possibile abbinare le sequenze decomposte in F #?
spero in qualcosa di simile a:
let decomposable (xs:seq<'a>) =
match xs with
| h :: t -> true
| _ -> false
seq{ 1..100 } |> decomposable
Ma questo si occupa solo elenchi e dà un errore di tipo quando usando le sequenze. Quando si utilizza List.of_seq, sembra valutare tutti gli elementi della sequenza, anche se è infinito.
collegamento qui per chiunque (come me) non sapeva che cosa è il power pack: http://fsharppowerpack.codeplex.com/ – gatoatigrado