Java
大きな進展はないが、しばらくいじれないので修正版を公開しておく。 ファイルport、文字列portの実装(一部)と、defineの仕様を勘違いしていた*1ことの修正がメイン。インタプリタ方式で作り始めたけど、効率のためだけでなく文法の面からもコンパイルは必要…
特集「究極のプログラミング体験 プログラム言語を作る!」の中の一記事。今日立ち読みして知った。掲載されたプログラムはWebページからダウンロード可能。 日経ソフトウエア 2005年10月号目次
http://jatha.sourceforge.net/ Jatha is a Java library that implements a fairly large subset of Common LISP. おお〜。Common Lispだから継続はないのか。でもコンパイル機能は多分あるだろうな。
http://fhuman.esys.tsukuba.ac.jp/~nozom/SParser-2.1.zip変更点は、 終端文脈で無駄な継続を生成しないようにした read, writeを実装した 有理数(分数)に対応した GUIに入力履歴が付いて若干使いやすくなった その他バグ修正多数 例によってドキュメントも…
レキシカルスコープと継続ができたので、あとSchemeに必要なものとしては末尾再帰の最適化がある。せっかくだからこれも実装したい。 どうやって実装すればいいか。最初はインタプリタではなくコンパイラを作らないといけないと思ったが、ひょっとすると継続…
なんかゴニョゴニョやってるうちに出来たみたい。 > (+ (call/cc (lambda (x) (x 1) 2)) 3) ==> 4 以下のページなども参考にしつつ、継続スタックを自前で管理することで実現した。継続に対応させるために、プリミティブ関数の実装がとても力業になってしま…
ここ数日Java版Lispインタープリタを作っている。実装できそうなところから作っていったので、現時点ではEmacs LispとSchemeの混ざったようなへんてこな言語仕様になっているが、それでもそれなりのことはできるようになった。まだいくつかバグが残っている…
http://pcweb.mycom.co.jp/news/2005/06/09/012.html(from AOISAKURA - 日記)Swing(に限らずgtkなども含めたGUIライブラリ全般)の一番嫌いなところは、ロジックを表現するソースコードに、デザインのためのコードが混在することだ。ソースコードがごちゃご…
http://www.itmedia.co.jp/enterprise/articles/0505/13/news089.htmlJavaのオープンソース化、サードパーティーによるJ2EE互換のJava実装、ソフトウェアライセンスからサービスへ。
Java RMI 入門 http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/rmi/hello/hello-world.html RMIについて http://ash.or.jp/java/rmi.htm RMIによるクラスのダウンロード http://ash.or.jp/java/rmi_codebase.htm スタブ不要なRMI http://www.02.246.ne.jp…
XML-RPCにシリアライズの機能を加えて、こんなテストコードができた。オブジェクトが文字通りマシンを超えて生き続けるのは、なんだか面白い。 今のところ既知のクラスしか送れないけど、Javaにはネットワーク上にあるパッケージを透過的にダウンロードする…
Emacsは大抵のことは何でもできるけど、GUIに凝ろうとすると途端に行き詰まってしまう。 たとえば現代的なGUIツールキットなら必ず含んでいるような、コンボボックスとかツリービューとかは、等価な機能を提供できたとしても、GUIレベルで同じようなものを実…
憧れの3Dデスクトップを試してみた。以下導入手順。 (基本的にはLG3D インストールに従いつつ適宜アドリブで) 1.J2SE Developer Kit 5.0のインストール % sh jdk-1_5_0_01-linux-i586.bin # mkdir -p /opt/java # cp -a jdk1_5_0_01 /opt/java/jdk-1_5_0_01/…
前回へのポインタ→id:nozom:20040918#p2結局エラーの原因は分からず。これ以上深入りしてもしょうがないので、ライブラリとしてではなくて子プロセスで実行ファイルを起動して標準出力を読み取る方向で一応目的は達した。 しかし、大したことをするつもりも…
前回(id:nozom:20040917#p3)の続き。 エラーはChaSen内部で起こっている。ためしに直接ChaSenを呼んでみたら同じエラーが出たので、問題はCaboChaではなくChaSenの方にあるんだろう。 An unexpected exception has been detected in native code outside the…
前回 「多分Windowsでも同じだと思う」なんて書いたが、この予想は大きく外れていて、Windowsだと別の原因で別のエラーが発生する模様(がーん)。目下調査中。とりあえずWindows環境にJava SDKをインストールするところから…。
JavaからJNIでCaboChaを呼ぶと上記のエラーが出る。 以下、とりあえず状況の整理をしてみた。Linuxで検証したけど多分Windowsでも同じだと思う。libchasen.soはlibstdc++.aがリンクされていないので、呼び出し元にリンクしておく必要がある。 ところで、Aと…
http://homepage3.nifty.com/satoshis/oo/memo.html(from: DP/ML)Javaでクラス設計するときの経験則。デザインパターン適用の指針など。