2009-01-01から1年間の記事一覧

[Clojure]Programming Clojureの感想

Programming Clojureを読んだのでその感想、の前に、Clojureの特徴など。 Clojureとは 私見ですが、Clojureの特徴を紹介します。 Lispの方言 Common LispやSchemeの仕様とは互換性はない。Common Lispに比べてなじみやすい関数名になっていたり、Lisp-2では…

[Scala]Scalaでeval

Rubyのように文字列をScalaスクリプトとしてプログラム内でevalする方法。scala-compiler.jarの中にscalaインタプリタが使っているクラスInterpreter(そのまんま)があるので、これでevalできる。 package jp.hogehoge import scala.tools.nsc._ import scala…

[Scala][XML]ScalaでXMLストリームパーザを書いてみた

巨大なXMLファイルを処理するとき、プロセスのメモリにDOMを全部置いたりするのは非常に効率が悪い。なので、世の中にはSAXというイベントベースのAPIがあるわけだが、遅延評価を利用してこれをイベントベースの処理をDOMのストリームに変換してみたい。標準…

Javaに対するScalaのメリット

Javaから他の言語に行きたいという悩み Javaのいけてない書き方には正直うんざりしてる。 でもRubyに移行する勇気はない。 静的な型チェックがないのは実行時のバグが怖い。 特にウォーターフォールで開発をやってるところにとっては、バグの刈り取りを後工…

見送られそうなJava 7のクロージャ

クロージャがJava 7に入らないかもしれないと聞いてテンションが下がった。Javaでクロージャを実装する場合、ローカル変数のエクステントが問題になることを、以前のエントリで述べたが、候補となっていた仕様ではどうなっていたのだろう? http://d.hatena.…

スコープとエクステントまとめ

ABCLのソースを読んでるうちにスコープとエクステントについてだんだんわかってきたので、自分なりに少しまとめてみた。合ってるかどうかはわからないので、すべてに?がついていると考えてください。 スコープ アクセス可能な場所的範囲 エクステント アクセ…