我可以let
在其他表达式中使用。
foo n = (let a = True in (\x -> a)) 3
foo' n | n == 1 = let a = True in a
| n /= 1 = False
但我不能这样做where
foo n = ((\x -> a) where a = True) 3
foo' n | n == 1 = a where a = True
| n /= 1 = False
1:20:输入“where”时解析错误
在haskell中真的不可能还是我的错误?