プログラミング言語SML#解説 3.7.1版
17.1 文字集合
SML#言語で使用できる文字は,十進数でからまでの拡 張ASCII文字である. 文字の中で,十進数でからまでのASCII文字は,SML#言 語の予約語や区切り記号として使用される. これら予約語や区切り記号と重ならない限り,十進数でから までの8ビットバイトを含む文字を識別子として使用できる. この機能により,UTF-8でエンコードされた日本語を識別子とし 使用できる. 以下の対話型セッションは,日本語を使用したプログラム例である.
$ smlsharp
SML# 3.7.1 ...
# 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コードなどのような,十進数からまでのバ イトが現れるエンコーディングを使用した場合の動作は未定義である.