UnicodeSyntax

一种扩展,允许你使用 Unicode 字符代替某些内置运算符和名称。

ASCII 统一 使用(S)
:: ∷ 有类型
-> → 函数类型,lambdas,case 分支等
=> ⇒ 类约束
forall ∀ 显性多态性
<- ← do 表示法
* ★ 类型的类型(或类型)(例如,Int :: ★)
>- ⤚ proc 表示为 Arrows
-< ⤙ proc 符号为 Arrows
>>- ⤜ proc 为 tihuan 27 的记号
-<< ⤛ proc 表示为 Arrows

例如:

runST :: (forall s. ST s a) -> a

会成为

runST ∷ (∀ s. ST s a) → a

请注意,*与★示例略有不同:由于*未保留,★的工作方式与*相同,用于乘法或任何其他名为 (*) 的函数,反之亦然。例如:

ghci> 2 ★ 3
6
ghci> let (*) = (+) in 2 ★ 3
5
ghci> let (★) = (-) in 2 * 3
-1