好吧,所以我想根據您提供給函數的泰勒展開中的術語數來逼近pi。但是我得到了許多錯誤,其最後的是無法推斷例如:試圖在Haskell中做一個pi逼近
這裏是我的代碼:
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))
你應該張貼實際的編譯器錯誤,以及你所不理解的錯誤。你是否搜索過相同的錯誤消息,並試圖在那裏應用答案? http://stackoverflow.com/search?q=%5Bhaskell%5D+%22cannot+infer+instance%22? – jberryman
pie_h的類型有兩個參數,但是你給的類型只有一個參數。您正在使用「mod」,它需要Integral類型,但您處於合理的環境中。 –