自定义sml中缀是否有白名单或黑名单?

时间:2013-04-16 01:14:03

标签: sml

infix 3 ..错误。允许或不允许使用哪些字符来定义自定义中缀?我在哪里可以找到在线列表?

感谢

1 个答案:

答案 0 :(得分:4)

您可以添加任何不合格的标识符。

以下内容来自SML 90'定义

  

以下是Core中使用的保留字。它们可能不会(除了=)用作标识符。

abstype and andalso as case do datatype else
end exception fn fun handle if in infix
infixr let local nonfix of op open orelse
raise rec then type val with withtype while
( ) [ ] { } , : ; ... _ | = => -> #

...

  

标识符是字母数字:任何字母序列,   数字或素数(')和underbars(_)以字母或开头   prime,或 symbolic :以下任何非空序列   符号

! % & # + - / : < = > ? @ \ ~ ' ^ | *
     

但是,在任何一种情况下,都会排除保留字。这意味着   例如#和|不是标识符,而是##和| = |是   身份标识。这个规则唯一的例外是符号=,   这是一个保留字,也可以作为标识符   对于平等谓词。