我的Haskell函数在complie上崩溃
我试图模拟e^x的泰勒多项式我的Haskell函数在complie上崩溃,haskell,Haskell,我试图模拟e^x的泰勒多项式 ---Macularian for e^x e :: (Num a) => a -> Int -> a e value precsion = sum $ take precsion [((x^n) / product [1..n]) | x <- value, n <- [0..]] ——e^x的黄斑 e::(数值a)=>a->Int->a e value precision=sum$take precision[(x^n)/乘积[
---Macularian for e^x
e :: (Num a) => a -> Int -> a
e value precsion = sum $ take precsion [((x^n) / product [1..n]) | x <- value, n <- [0..]]
——e^x的黄斑
e::(数值a)=>a->Int->a
e value precision=sum$take precision[(x^n)/乘积[1..n])|x Int->a at
/home/app/work/projects/75872/session.207/src/Main.hs:2:6-29
a是一个刚性类型变量,由e::Num a的类型签名绑定
=>a->Int->a at/home/app/isolation runner work/projects/75872/session.207/src/Main.hs:2:6
相关绑定包括value::a(绑定在
/home/app/work/projects/75872/session.207/src/Main.hs:3:3)
e::a->Int->a(绑定在
/home/app/work/projects/75872/session.207/src/Main.hs:3:1)
这部分:x这部分:x顺便说一句,这不是编译器或程序的“崩溃”。这只是一个类型错误。顺便说一句,这不是编译器或程序的“崩溃”。这只是一个类型错误。不要生成无限列表,而取有限部分。使用e x精度=[…涉及x和n的公式.| n Haskell有延迟求值,因此结果是相同的。不要生成无限列表并获取有限部分。使用e x precision=[…涉及x和n的公式.| n Haskell有延迟求值,因此结果是相同的。
e x precision = take precision [ ...formula involving x and n... | n <- [0..] ]