ベキ級数をHaskellで書こうとしているのですが、
e^x = 1 + x + x^2/2! + x^3/3! + ...
それが出るように
[1,1,1/2,1/6,...]
これまでのところ、私は得ました:
factorial 0 = 1
factorial n = n * factorial (n - 1)
powerSrs x = 1 : powerSrsFunc[1..] where
powerSrsFunc ( p: xs ) =
p : powerSrsFunc[y | y <-xs, ( (x^y) / (factorial y) )]
ただし、ここでの入力が間違っていることは理解しています。このエラーが発生しています:
tut08.hs:8:58:
No instance for (Integral Bool)
arising from a use of `^'
Possible fix: add an instance declaration for (Integral Bool)
In the first argument of `(/)', namely `(x ^ y)'
In the expression: ((x ^ y) / (factorial y))
In a stmt of a list comprehension: ((x ^ y) / (factorial y))
tut08.hs:8:62:
No instance for (Fractional Bool)
arising from a use of `/'
Possible fix: add an instance declaration for (Fractional Bool)
In the expression: ((x ^ y) / (factorial y))
In a stmt of a list comprehension: ((x ^ y) / (factorial y))
In the first argument of `powerSrsFunc', namely
`[y | y <- xs, ((x ^ y) / (factorial y))]'
1)「1/2」のように出力されるように、Haskell で分数をどのように記述しますか?
2) (Integral Bool) と (Fractional Bool) のインスタンスがないと言うとき、それはどういう意味ですか?
Integral 型と Bool 型の 2 つの引数を参照していますか?
インテグラルとインテグラルはかかりませんか?