構文の簡潔さという意味では、>>83で紹介したSML(Standard ML)が理想に近いのではないかと 【ラムダ式】 fn hoge x y = <expr> 【条件分岐式】 if <expr1> then <expr2> else <expr3> 【多分岐式】 case <expr> of <pat1> => <expr1> | <pat2> => <expr2> | .... 【代入(束縛)】 val x = <expr> 【関数定義】 fun fuga x y = <expr> 【局所宣言式】 let val x = <expr> fun fuga x y = <expr> in <expr> 【モジュール定義】structure bar = struct <declarations> end 構文要素が必ず予約語で始まっていることがポイントになる また ;(セミコロン)は演算子であり、式「a ; b」は(aを捨てて) b の評価値を返すという意味になる 結果として言語仕様はコンパクトにまとまっているので習得が容易であり、 しかも言語全体の公式な形式的定義が存在するという特異な存在となっている