0
私が取得しています:ハスケル:私のコードをコンパイルしようとすると予想されるタイプの実際の型と「IO t0の」「整数」と一致しませんでした
[1 of 1] Compiling Main (survey2.hs, survey2.o)
survey2.hs:20:1:
Couldn't match expected type ‘IO t0’ with actual type ‘Integer’
In the expression: main
When checking the type of the IO action ‘main’
を私は「9を指定いじり試してみましたIO、IOt、IOt0、intなどを含むさまざまな種類の束としてメインに入力されています。私は他の場所にある関数定義に基づいて、整数が関数に入力されていなければ他の機能のどれも適切に動作しないことに注意してください。私はどのようにメインに適切なタイプを置くか分からない。
factorial:: Integer -> Integer
factorial n
| n <= 1 = 1
| otherwise = n * factorial(n-1)
binomial :: (Integer, Integer) -> Integer
binomial (n, k)
| k > n = 0
| k < 0 = 0
| otherwise = factorial(n)/(factorial(n-k) * factorial(k))
bell :: Integer -> Integer
bell n
| n <= 1 = 1
| otherwise = sum [ binomial(n-1, k-1) * bell (k-1) | k<-[0..n-1] ]
bellSum :: Integer -> Integer
bellSum n = sum [ bell(k) | k<-[0..n] ]
main = bell(9 :: Integer)