[language] Haskell2Miranda 语法提要

Lich_Ray 2007-08-07
在网上常常发现一些很好的文章(比如 why-fp-matters),里面的代码很像 Haskell 但又不是,那往往是 Miranda 书写的。由于 Miranda 只能在 *NIX 下使用,所以一直没有流行起来;但因其出现早,语法设计很漂亮,常被用在计算机科学方面的论文里(顺便八卦一下:Miranda 是英国人发明的,所以英国的教授…)。下面对 Miranda 和 Haskell 不同的语法做一点比较,以便大家在看文章时有个准星。

语法      Haskell       Miranda
类型的举例声明 T a T b...     T * T **...
类型别名    type N = T     N == T
新类型     data TP = TS    TP ::= TS
抽象类型    class C where   abstype C with
比较等     ==         =
比较不等    /=         ~=
逻辑否     not        ~
逻辑与     &&         &
逻辑或     ||         \/
列表按下标取值 !!         !
列表领悟分隔符 ,         ;
向导语法    | BOOL = EXP    EXP, if BOOL
        | otherwise = EXP EXP, otherwise

其它内容详见 Miranda Overview
Global site tag (gtag.js) - Google Analytics