2006年10月07日

Sctipt-Fuの変革

永らく使われてきたScript-FuがTiny-Fuに置き換わるかもしれません。

先日、Tiny-Fuのメイン開発者であるKevin Cozens氏がTiny-Fu 1.1.0をリリースした後、さらに改良を加えてCVSのほうではSctipt-FuのスクリプトをそのままTiny-Fuで実行できるようになっています。
Tiny-Fu 1.1.0より前のバージョンではScript-FuのスクリプトをTiny-Fuのために少々手直しをしないと動かせなかったのに対し、手直しをしなくても(1.1.1からは)動作するようになったということです。

これを受けて、Gimp開発者の間ではそろそろScript-FuをTiny-Fuに置き換えてはどうかという議論が出てきました。


Tiny-Fuとは?

Script-FuはSchemeのインタプリタとしてSIODを使用しています。一方のTiny-FuはSchemeのインタプリタとしてTinySchemeを使用しています。
SchemeはLispという言語の一種(方言)であり、その仕様はR4RS,R5RSといったレポートに記述されています。SIODもTinySchemeもR5RSに準拠したサブセットですが、その両者を比較した場合Tinychemeのほうが最新である分だけ扱いやすいです。

Tiny-FuとScript-Fuの違い

一番大きなメリットと感じるのは、Tiny-FuではUTF-8の文字列を扱えることでしょう。例えば文字円(Text-Circle)スクリプトを日本語で扱えるようになります。(I18N)

Tiny-Fuでは're'と'tsx'拡張が使えます。
're'拡張では正規表現のパターンマッチングを扱えます。'tsx'拡張は、ファイルI/O機能に日時機能がついたものです。

Script-Fuではあいまいであった局所変数と大域変数が、Tiny-Fuではローカル変数は厳密にローカル変数となります。また変数を使う前は正しく宣言しないといけないです。もし雑なスクリプトであったら、Script-Fuでは許容されていてもTiny-Fuではエラーとなるでしょう。

トラッキング機能を使えるので、プログラムのデバッグが行えるようになります。これまでどこにエラーがあるのか分からなかったバグも、これで追跡できるかもしれません。



Tiny-FuではScript-Fuのスクリプトを(通常なら)そのまま扱える上に、Script-Fuよりもメリットがあるのがいいですね。
しかし一部の文法は変更しないとスクリプトが動かないようです。以前私が書いたスクリプトの中に該当する文法がありました。


posted by いっちー at 19:33| Comment(0) | News | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。