トップ «前の日(08-18) 最新 次の日(08-20)» 追記   RSS 1.0 FEED  

Journal InTime


2004-08-19 (Thu)

_ [言語] The Jolt Programming Language

その名も「Jolt」!

ハッカー御用達のカフェイン飲料Joltにちなんで名付けられたらしい。 ドメイン名もwww.jolt-lang.orgと、ちゃんと-lang.orgの伝統(?)にのっとっている。

この言語はC++をリプレースするのを目的とする、静的型のシステム言語なのだが、 文法が(静的型があることを除けば)Rubyそっくり。「end文法」だし。

[Matzにっき(2004-08-18)より引用]

がーん、と思って見てみたら、そんなにRubyそっくりというほどではないようだ。

まつもとさんは、

Rubyの特徴であったブロックもGroovyではなんかハック的な文法*1であったのに対して、 こちらのブロックはきちんとRubyとそっくりのセマンティックスになっている。「do〜end」と「{〜 }」の両方が使えるところまでRubyそっくり。

[Matzにっき(2004-08-18)より引用]

と書かれているが、メソッド定義側の

class Vector is
   ...
   proc binop(do op: proc(int32, int32: int32)): int32 is
      v: int32 := this[0]
      for i in 1 .. this.size - 1
         v := op(v, this[i])
      end
      return v
   end
   ...
end

というのはちょっとRubyとは違うような。 これってGroovyみたいなセマンティクスじゃないのかなあ。

_ [mod_ruby] Apache::MethodDispatcher

外国人に、mod_rubyにmod_pythonのpublisherみたいなのはないか、と聞かれて作ってみた。 でも、

if !cls.public_instance_methods(false).include?(method_name)
  return FORBIDDEN
end

というのはどうも今一つ。 やはりDecoratorか。

_ まつもとさんのツッコミ

"do"は"&"の置換であり、静的型言語なのでパラメータや戻り値の

型も指定されている、と読むんじゃないでしょうか。

[Journal InTime - The Jolt Programming Language , Apache::MethodDispatcherより引用]

なるほど、&の方でしたか。 yieldの方を期待していたのですが、yieldの説明を見て、何か違うな、と。

_ [babel] 文法変更

実はbabelの方も文法を変更をしようかな、とか。

  • 改行を文のセパレータに。thenも改行でいいかな。
  • 引数がないメソッド呼び出しにも括弧を使用 (括弧がない場合はbound methodを返す)。
  • x.fooはx.get_foo()、x.foo = yはx.set_foo(y)として扱う (Satherはそれぞれx.foo(), x.foo(y))。
  • :=を=に、=を==に、::=は:=に変更。
  • case insensitiveに。
  • $は廃止。
  • outパラメータの廃止。代りに多値を導入。

    divmod(x: int, y: int): int, int is
      return x.div(y), x.mod(y)
    end
    
    foo is
      a, b := divmod(38, 5)
    end   
  • 返り値の有無による多重定義の廃止。 返り値があるメソッド呼び出しも文に(dummy変数で受け取る必要なし)。
  • 構文糖としてのfor文の導入。

    for i, j in x.elt!, y.elt! do
      ...
    end

    は、

    loop
      i := x.elt!
      j := y.elt!
    end

    と同じ。

  • 同じく構文糖としてのwhile文。

しかし、迷うなあ、いろいろ。

本日のツッコミ(全1件) [ツッコミを入れる]

_ まつもと ["do"は"&"の置換であり、静的型言語なのでパラメータや戻り値の 型も指定されている、と読むんじゃないでしょうか。..]


2006-08-19 (Sat)

_ [Ruby][] プログラミングRuby

プログラミングRuby 第2版 ライブラリ編(Dave Thomas/Chad Fowler/Andy Hunt/田和 勝/まつもと ゆきひろ) プログラミングRuby 第2版 言語編(Dave Thomas/Chad Fowler/Andy Hunt/田和 勝/まつもと ゆきひろ)

オーム社さんからいただいた。ありがとうございます。

結局レビューはぜんぜんできなかった。 ごめんなさい、ごめんなさい、ごめんなさい。

2冊買うとなかなかのお値段だけど、表紙の絵が2冊合わせて はじめて完成するところがうまい(セットで買わせようということ)。 AWDwRの第2版も2冊になっちゃうかなあ。

モジュールをJavaのインタフェイス代りに使おうとする前に、まずは第23章を読みましょう。 GCの話はちょっと胡散臭い気もするけど(1.6のString#<<が遅かったって話じゃないのかな)。

_ [] Ship It! ソフトウェアプロジェクト 成功のための達人式ガイドブック(Jared Richardson/William Gwaltney Jr./でびあんぐる)

Ship It! ソフトウェアプロジェクト 成功のための達人式ガイドブック(Jared Richardson/William Gwaltney Jr./でびあんぐる)

一緒にこちらもいただいた。 いつもありがとうございます。

実は、Amazonで予約注文してたんだけど、キャンセルが間に合った。 危ない危ない。

でびあんぐる監訳なので安心して読める。 今回もちゃんとJoeの似顔絵が入ってますよ。 ていうか、Wikiも知らなかったのかよ > Joe


2017-08-19 (Sat)

_ [250DUKE] 尾道ソロツーリング

photo

ひさびさに晴れたので尾道まで日帰りで行ってきた。

行きは国道432〜おろちループ経由の下道でのんびり。

photo

千光寺公園の駐車場に止めたけど、駅周辺に無料の駐輪場があったのでそっちに止めたらよかった。まあ100円だけど。

photo

娘が「尾道って猫がいるとこ?」と言っていたけど猫には出会わなかった。

photo

行列店を素通りしてたまたま見かけた空いてそうな店でラーメンを食べたけど、それなりな感じだった。 帰りに行列店に救急車が来てたけど、並んでたお年寄りが倒れたらしい。 そうまでして食べるほど美味い店だったんだろうか。

帰りは尾道自動車道〜松江自動車道で時間短縮。 DUKEならオフロード用ヘルメットのままでいいかなと思ってたけど、やっぱり高速はつらい。 オンロード用のフルフェイスがほしい。