這個問題在這里已經有了答案: 為 GHC 中的術語分配文字 2 個回答 6 天前關閉。
如果我將開始ghci并輸入類似的內容,4 = 5或者1.2 = 3.4它會接受它但沒有列印任何內容。但是,在這之后 4 仍然是 4 而不是 5。為什么 GHC 沒有拋出“無法分配給文字”之類的錯誤?
uj5u.com熱心網友回復:
考慮
> let 4=5 in 4
4
> let x@4=5 in x
*** Exception: <interactive>:1423:5-9: Irrefutable pattern failed for pattern x@4
第4一個片段中回傳的不是4LHS 中的。回傳4的只是另一個文字。
x第二個回傳的確實如此,因此模式4(不是文字4)與文字的值匹配5。并且匹配失敗。
無論如何,這當然不會影響任何后續互動,因為系結僅限于let運算式。如果你使用let沒有in在舊版本GHCI的,到牽一發而下面的互動,有沒有什么力量,在所有系結的,所以它保持閑置和無效的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/316829.html
