2009-11-01から1ヶ月間の記事一覧

OCamlの評価順序

OCamlの2項演算子の評価順序は右から左だった. # let x = ref 3 in (let () = x := 5 in !x) + !x;; - : int = 8 # let x = ref 3 in !x + (let () = x := 5 in !x);; - : int = 10 関数の引数の評価順序も同様 # let f x y = x + y;; val f : int -> int -…

Tclのセマンティクスを定義してみる

自然意味論によってTclのセマンティクスを定義してみることにする. Tclの構文 まず,抽象構文を以下のように定義する. C ::= W W* | C ; C W ::= V | [ C ] | { C } V ::= s | x | $x s ∈ Str x ∈ Var sは文字列を表し,xは変数を表すメタ変数である.Tcl…