ピッケル本ことProgramming Ruby第二版、日本語訳のチェックを行う。 もう出版が近いというのに、まだまだ修正箇所が多い。
が、おかげで原著の間違いなども見つけており、それだけ質の高いものになる ...のだといいなあ。
7月上旬から中旬が発売予定。二分冊。
表紙はRubyKaigi2006のスライドで見ることができる(10枚目)
ruby-talkでふたたびRubyのUnicode対応、およびM17Nについて話し合われている。
しかし、今回はAustin Zieglerをはじめとして、 私のアイディアに理解を示してくれる英語圏の人が増えたので、 以前よりもずいぶんと楽。
それと、こうしてアイディアを文章にしてみると まだM17Nで具体的に決まってないところがあちこち残っていることが 明らかになる。まあ、前から気づいてたけど。
特にコード変換まわりが鬼門だ。できるだけコード変換をしたくない、 というのが基本的な設計原理だが、とはいえやらなくてすむものでもない。
ずいぶん以前からifやらwhileやらにdoやthenの代わりに":"をつける、 というPython風味の文法をこっそり入れていたのだが、 今日、とうとう外すことにした。
if foo % 2 == 0: puts "even" else puts "odd" end
elseの後ろの括弧は許してなかった。誰も使っていなかったと思うけど。
しかし、Haskellで得られた知見によれば、 「対応する括弧を用いる文法との相互変換を許すなら、インデントによるグループ化は有効」である。
ということは、「コードブロックの先頭が":"であれば、 そのブロックはインデントでグループ化する」という文法を導入するのは ありえる選択肢かもしれない。
if foo % 2 == 0: puts "odd" else: puts [1,2,3].each do: |x| puts x
なんとPython風味。 レイアウトを使うパーサーを書くのが面倒なので、 単なるアイディアだけ。
これもエイプリルフールねたレベルだなあ。