クラス定義

やはりPnuts 1.2にはクラス定義も盛り込もうと思う。使い方は2とおりあって、普通にスクリプトからクラスを定義する方式と、Javaみたいにファイルとして置いておいてclassloaderに読ませる方式。 前者はクラスを定義するたびに新しいclassloaderを使う( ht…

Pnuts1.2新機能

Pnuts 1.2で追加する新機能の検討を始めた。 多重代入 x, y = [1, 2] for文の変数も複数可能に for (x, y: map){ ... } 無名関数のためのコンパクトな記法 {x -> x * x} 配列とCollectionの自動変換 クラス定義関係の追加は無し 機能を絞って、さっさとリリ…

Java-pluginのActiveXブリッジ

pnuts.tools.PnutsAppletを少し修正して、AppletオブジェクトをContextローカル変数から取り出せるようにして、ユーザのセキュリティポリシーをAllPermissionにしておけば、IEで動いているPnutsアプレットの中からそのページのDHTMLオブジェクトにアクセスで…

Client Side Java

よくできたAjaxアプリを見慣れてくると、ブラウザで動くスクリプトとしてJavaScript以外の仕組みを使うことはあまり思いつかないかもしれません。ただ、Webアプリケーションの基盤の一部として長い目で見た場合に、いくつか改善の余地があることに気がつきま…

java.compilerモジュール

というわけでjava.compilerモジュールができあがりました。mustangで実装されたJSR-199のAPIを使ってJavaのソースコードをコンパイルできます。

JSR-199 & JSR-223

Mustangに含まれるJava Compiler API (JSR-199) を使うと、Javaコンパイラをプログラムから操作できるようになります。新たにできるようになることとしては、たとえば、クラスファイルを(ファイルシステム上に作らずに)メモリ上に作って読み込むことができ…

MLでの最近のトピック

pnuts.dev.java.netでの最近のトピックのまとめ クラス定義のための文法要素の検討・ 提案 PnutsLayoutの改良 関数の永続化 pnuts.remoteモジュール(Pnutsの式を受け取るTelnetサーバ) ロゴ

invokedynamicは要りません

JSR 292として標準化プロセスにあるinvokedynamicの追加について、私は反対してます。JCPは節操ないので、どんどん変な方向に行く危険性があるような気がします。こういうことは最低限キッパリ言っておかないとね。http://jroller.com/page/tomatsu?entry=i_…

今月はPnutsMLのメールが多い

ずっとMLのトラフィックがさびしい状態だったが、今月は70を超えそうな勢い(他のMLでは普通の数字かもしれないがPnutsにとっては新記録)。https://pnuts.dev.java.net/servlets/BrowseList?listName=users&by=date&from=2006-03-01&to=2006-03-31&first=1&…

末尾再帰

Haskellのstandard preludeの関数をエミュレートするようなPnutsのモジュールを半分冗談で作って公開しているが、意外にも真剣に使ってくれる人が複数現れた。で、そういう使い方をすると、やはり末尾再帰の最適化の機能が欲しいらしい。末尾再帰の最適化に…

Pnutsアップデート

Pnuts関連のこともここに書いていこうと思う。3/21 久々のアップデート。pnuts-1.1系もだいぶ安定してきた。今回は新たにNetBeansとEclipse用にConsoleの機能を提供するプラグインがこちらからダウンロード可能。EclipseShellのように入力のテキストボックス…

検証ツール

訳あって秋頃から検証系関係の講習をいくつか受けた。 http://www.il.is.s.u-tokyo.ac.jp/~ishikawa/mcheck/ http://unit.aist.go.jp/cvs/ http://www.jaist.ac.jp/satellite/sate/jyohoshoriron1.html spinとnusmvは少しは使えるようになったかな。isabelle…