簡體   English   中英

Haskell - 類型類

[英]Haskell - type classes

我是Haskell的新手,我正在嘗試學習類型類的工作原理。 我在GHCi編譯器中輸入以下代碼。

let (+) :: Num a => a -> a -> a;
(+) a b = a+b;

代碼編譯,但每當我調用該函數時,它就會卡住,我必須按ctrl + c來停止進程。

我在這里做錯了嗎? 先感謝您!

你已經將a + b定義為等於a + b+綴運算符也可以寫成(+) ,在這種情況下它表現為普通的前綴函數;但你的左側仍然是相同的作為右手邊的東西)。

所以解釋器只是永遠旋轉,為了評估a + b然后需要評估a + b ,然后需要評估a + b ,依此類推。

你從函數+遞歸調用你的函數+ ,就像你寫的一樣:

add :: Num a => a -> a -> a
add a b = add a b

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM