UnicodeSyntax

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

ASCII 统一 使用(S)
:: 有类型
-> 函数类型,lambdas,case 分支等
=> 类约束
forall 显性多态性
<- do 表示法
* 类型的类型(或类型)(例如,Int :: ★
>- proc 表示Arrows
-< proc 符号Arrows
>>- proctihuan 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