2008-03-21から1日間の記事一覧

ちょっと目を離した隙に

DLR

CodePlex Archive が上がってキテタ─wwヘ√レvv〜(゚∀゚)─wwヘ√レvv〜─ !!

ビット演算子も文法的に問題だ

現在の kuzha にはビット演算子が無い、という話。ここで単純に "&" "|" "^" を導入しちゃうと、それぞれ以下とバッティングするというブービートラップ。 &foo; // 変数 foo を無評価参照 foo| abc = 123; // 関数 foo をキーワード引数付きで呼び出し ^x (…

リストの入れ子が文法的な意味で問題だ

単純にリストのリストを作ろうとして [[1] [2] [3]]にしちゃうと、Java でたとえるならば new int[] { 1 } [2] [3]; になっちゃうのが問題だ。 解決策その1:リストに区切りを設ける [[1], [2], [3]] // Java とあわせてみる[[1]; [2]; [3]] // ";" は式の…

構造体について再考

正直、名前付きリストにしようか迷ってたりするんだ。名前付きリストにすると、名前付きマップとか名前付きオブジェクトとか、他も色々考えられるし。 list = [:Foo 1 2 3]あるいは、そもそも構造体自体無くしてしまうとかも考えている。先頭に適当な文字列…

リストのパターンマッチ

ができるようになった。 ku> case [1 2 3] of > [a b c] -> a + b + c puts; > end > 6 ku> case [1 2 3 4 5 6] of > [1 2 3 | tail] -> tail puts; > end > [4 5 6]

Java のコンストラクタとかで

ふとコードを書いてて疑問に思ったことが1つ。 public ListPattern(CasePattern[] pats) { this(pats, null); } public ListPattern(CasePattern[] pats, String tail) { if (pats == null) throw new IllegalArgumentException(); this.pats = pats; this.…