Tamam, bu nedenle, işlevin verdiğiniz Taylor genişletme işlemindeki terimlerin sayısına göre pi'yi yaklaşık olarak yaklaştırmaya çalışıyorum. Ancak birçok olduğunu örneği anlaması edemez son hangi hataları alıyorum:Haskell'de yaklaşık bir pi yaklaşımı yapmaya çalışıyor
pie :: Rational -> Rational
pie n = 4.0 * (pie_h n 1.0)
pie_h :: Rational -> Rational
pie_h x y = if(x==0) then 0.0
else if ((y mod 2.0)/=0) then (1.0/y)+ pie_h (x-1.0) (y+2.0)
else (-1.0/y)+(pie_h (x-1.0) (y+2.0))
Sen gerçek derleyici hata sonrası gerektiği gibi approx_pi fonksiyonunu tanımlayabilirsiniz verir. Aynı hata mesajında SO aradınız mı ve cevapları orada uygulamaya çalıştınız mı? http://stackoverflow.com/search?q=%5Bhaskell%5D+%22cannot+infer+instance%22? – jberryman
pie_h türü iki argüman alır, ancak verdiğiniz türün yalnızca bir tane vardır. Integral tiplerini gerektiren "mod" kullanıyorsunuz, ancak mantıklı bir bağlamdasınız. –