我試圖定義一個像「Int」這樣的特定類型的值,但似乎Prelude不支持它?如何在Haskell的「let」表達式中使用「type」定義值?
Prelude> let c::Int = 4
Prelude|
<interactive>:49:8:
Illegal type signature: ‘Int’
Perhaps you intended to use ScopedTypeVariables
In a pattern type-signature
Prelude> let [Int]c=4
Prelude|
<interactive>:51:5: Parse error in pattern: [Int]
如何糾正它?
類型簽名可以出現在自己的行上(在let,where或top level聲明中)或表達式中。類型簽名不適用於綁定的左側。 –
[GHCi中的多行命令]可能重複(http://stackoverflow.com/questions/8443035/multi-line-commands-in-ghci) –
「如何更正它?」 - 錯誤說明 - 「也許你打算使用ScopedTypeVariables」。用':set -XScopedTypeVariables'在ghci中啓用ScopedTypeVariables。也就是說,如果你想使用這個特定的語法。 – user2407038