私が作成した関数で Seq.cache を使用しようとしています。これは、数値 1 を除く数値 N までの素数のシーケンスを返します。キャッシュされたシーケンスをスコープ内に保持する方法を理解するのに問題がありますが、それでも使用します私の定義では。
let rec primesNot1 n =
{2 .. n}
|> Seq.filter (fun i ->
(primesNot1 (i / 2) |> Seq.for_all (fun o -> i % o <> 0)))
|> Seq.append {2 .. 2}
|> Seq.cache
Seq.cache を使用してこれを高速化する方法についてのアイデアはありますか? 現在、スコープから外れ続けており、パフォーマンスが低下しているだけです。