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