トップ «前の日記(2009-04-03) 最新 次の日記(2009-04-08)» 編集

Route 477



2009-04-07

[event][biwascheme] BiwaScheme Hackathon #1

というイベントが、先週土曜日に行なわれました。

流れとしては、東京行きますという日記を書いたらyamatoさんとmokeheheさんからお誘いを頂いて、せっかくならご一緒にお会いしましょうかということで今回のイベントになりました。

そんで行ってみたら初対面の方が5人いたり、全員がBiwaSchemeを知ってたり(まあそうか)異常な空間だった。

どうやらyamatoさんは本気でアプリケーションを書こうとされているようで、プロジェクトに対する責任感が芽生えたような気がしました。 もう自分のためだけのBiwaSchemeじゃないのね、みたいな。

BiwaSchemeの内部構造の話をしたり、デバッガの話をしたり、長らく忘れてたことをいろいろ思い出しました。 あといろいろアイデアをいただいた。

  • 例外処理。throwとcatchで実装できるかと思ったけど、ネットワーク通信とか挟むとスレッドが変わるから駄目だなぁ。jsで書かれたライブラリ関数からもraiseしたいと思うとマクロですますわけにも。
  • wonderscm(wonderflのScheme版)は面白いと思うので、さくっと実装できそうだったらぜひやってみたい。
  • メモ代わりに、specに「これがバグるよ」という項があるといい。
  • URLのパラメータ部分をJSから取得したい。
  • dumpの色分け。
  • cookie。
  • CDATAでくくる。

twitterにも書いたけど、自分のプロジェクトのイベントができるというのはとても幸せなことであるのが分かった。 続けていると良いことがあるものです。 改めて、今回来て下さった方に感謝を。次回以降も機会を見つけてやりたいと思ってるので、今回参加できなかった方もよろしくお願いします。

[scala] Scala DSLによるBASIC実装

Scalaすげー。

Rubyでは行番号がどうやっても無理で、Schemeでも改行がread時に消えちゃうからダメ。 Common Lisp+リーダマクロならできると思うけど。

[prog] Lisp風のマクロとPython風の文法を持つ言語、PLOT

それ何てCyan?て感じですが…。

リファレンスで、if式より前にマクロがあるところがなんとも(笑)。

        if x < 10
          f(x)
          g(x - 1)
        elseif x < 100
          f(x, x * 2)
        else
          f(x / 1000)

forという構文を定義するマクロの例(一番下)。Lispから括弧を抜いたような雰囲気がありますが、しかし記号が多いな…。