プログラミング言語SML#解説 4.1.0版
17 字句構造

17.1 文字集合

SML#言語で使用できる文字は,十進数で0から255までの拡 張ASCII文字である. 文字の中で,十進数で0から127までのASCII文字は,SML#言 語の予約語や区切り記号として使用される. これら予約語や区切り記号と重ならない限り,十進数で128から255 までの8ビットバイトを含む文字を識別子として使用できる. この機能により,UTF-8でエンコードされた日本語を識別子とし 使用できる. 以下の対話型セッションは,日本語を使用したプログラム例である.

$ smlsharp
SML# 4.1.0 ...
# datatype メンバー =
>    研究員 of {氏名:string, 年齢:int, 学位:string}
> | 職員 of {氏名:string, 年齢:int};
datatype メンバー =
    研究員 of {学位:string, 年齢:int, 氏名:string}
  | 職員 of {年齢:int, 氏名:string}
# 研究員 {学位="Ph.D.", 年齢=21, 氏名="大堀"};
val it =
  研究員 {学位 = "Ph.D.",年齢 = 21,氏名 = "大堀"} : メンバー

日本語のShift_JISコードなどのような,十進数0から127までのバ イトが現れるエンコーディングを使用した場合の動作は未定義である.