Langphilia! / KL1 / Distributed KL1 / DKLIC, 2001-10-23

DKLIC: a Distributed KL1 implementation on KLIC

KLICと付いてて、なんか偉そうな名前ですが。 v1, v2 は私が実装、 v3は後輩が実装、 v4は仕様あり・実装中です。


以下は v2 までの古い情報です。

DKLIC2 (2000-10)

2000-10/
ソース。v1が約1700行だったのに対して、約400行まで圧縮しました。 サーバがacceptしたソケットでklicioできないバグを直したKLICが必要です。
pingはアプリケーションの一例です。 v1と比べて、ライブラリとしての使用が非常に楽になったことが分かります。

DKLIC1 (2000-03)

Bachelor Thesis
卒論です。v1は、次の3つのファイルから成ります。
reversi
アプリケーションの一例(オセロ)です。 キャラクタベースでショボい上に死ぬほど遅くなります。 DKLICは1対1通信が基本ですが、サーバ reversid.kl1 では ちょっとトリッキーにマルチクライアントを実現しています。

Known Bugs & Misfeatures

今後の実装ポリシー

  1. 変数表に登録された変数がすべて具体化されたときに終了処理を行う。
  2. (vartab.kl1) 変数名を整数で管理するように変更する。 変数表もvectorにすれば、必ず今よりは速くなる。 他モジュールには影響ないはず。
  3. (vsock.kl1) putt, puttqを直す。
  4. 浮動小数点をサポートする。 IEEEか何かで汎用の文字列変換が規定されてるはずだ。
  5. stubとskeletonをライブラリに含め、全体の構造を見直す。
  6. 最適化するにしても通信の最小単位は文字と文字列。 整数だとKLICでは汎用に書けないので。
  7. 述語移送機能。
  8. コンパイラが欲しい。

Copyright 1999-2001, TAKAGI Yusuke.