Types f中的“seq

Types f中的“seq,types,f#,Types,F#,我是F python程序员的新手,对我遇到的一个错误感到非常困惑。我有一个练习,从Nilakantha级数pi估计计算一个无限序列。这是我目前的代码: let piSeq x = let sum = 0m let bool = true let calculation x = (4m / (2m*x*(2m*x+1m)*(2m*x+2m))) seq { for b in 0..x do let x

我是F python程序员的新手,对我遇到的一个错误感到非常困惑。我有一个练习,从Nilakantha级数pi估计计算一个无限序列。这是我目前的代码:

   let piSeq x =
      let sum = 0m
      let bool = true
      let calculation x = (4m / (2m*x*(2m*x+1m)*(2m*x+2m)))
      seq {
         for b in 0..x do
            let x = x |> decimal
            if b=0 then let sum = sum + 3m
                        yield sum
            else if bool = true
                 then let sum = sum + (calculation x)
                      let bool = false
                      yield sum
                 else let sum = sum - (calculation x)
                      let bool = true
                      yield sum

      }

    Seq.iter (printf "%A ") (Seq.take 1000 piSeq)
此代码给了我以下错误:

error FS0001: The type 'int -> seq<int>' is not compatible with the type 'seq<'a>'

我的问题是,“seqseq”是什么

Seq,take需要一个int和一个序列。你给出的是一个int,函数piSeq是一个需要int的函数。所以它应该是Seq。取1000,piSeq提供了一些。