nptclのブログ

Common Lisp処理系nptの開発メモです。https://github.com/nptcl/npt

ANSI Common Lisp npt version 1.0.0 になりました

ようやくできた!
やったー!!
長かった。
ひたすら長かった。

以前の投稿Npt Lispの紹介 - nptclのブログでは、 ANSI Common Lispの関数を全部実装できたら 不完全であっても強制的にv1.0.0にすると言いました。
ついにそのときがやって来ました。

今までは

$ npt --help
npt -- Lisp Programming Language.
・・・

でしたが、これからは

$ npt --help
npt -- ANSI Common Lisp Programming Language.
・・・

となります。
今日からnptは図々しくもANSI Common Lispを自称していきますので、 よろしくお願い致します。
いや、すでに名乗っていたかも。

まずネガティブなことを言っておきますが、 v1.0.0になったからって安定したわけじゃなく、むしろ真逆。
今まで機能追加ばかりしてきたのがようやく終わったということで、 バグ保有数はnpt史上最高最悪なんじゃないでしょうか。
たぶん修正のしすぎてまともに動作しなくなった機能もあると思います。

では今後nptをどうして行くのか書きます。
以前、機能追加は極力しないと言いましたが、この方針はそのままです。

色々やりたいことはあるのですが、全部我慢して 下記の3つをやって行こうと思います。

  • テストケースをひたすら追加
  • C言語に組み込むための関数の整備
  • あと可能であればもっと高速化

これからの目標は、安定化と開発の収束です。
nptが小さくてシンプルな道具になってくれたらいいなと思います。

最後に行数だけカウントしておきます。
C言語のソースファイルをwcコマンドに読み込ませましょう。

$ cd src/
$ wc *.c *.h
・・・
  263325  701167 6521820 total

空白・コメント含めて263kline。
ひとつの言語を作るとこれくらいなんですね。