8
在埃裏克·梅傑的chapter 4,他本質上寫道:在函數式編程基礎手動定義布爾結合
True &&& x | x == True = True
| x == False = False
是不是這個不必要的冗長?我不能只是寫:
True &&& x = x
甚至:
(&&&) True = id
(&&&) False = const False
順便說一句,爲什麼我不能寫出下面?
(True &&&) = id
(False &&&) = const False
ghci的響應與:
Parse error in pattern: True &&&
N.B.我認爲你*可以*寫成'(&&)'的模式。所以'(&&)True = id'可能會起作用。 –
是的,但(&&)不是章節,而是中綴操作符的前綴形式,我認爲。 –
@Erik Hesselink是的,但「前綴運算符」和「雙面部分」之間沒有語義上的區別。在定義操作符時,語言只允許一種語法,而不是其他語言。 – Carl