nptclのブログ

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

Dictionaryの翻訳完了とバグ報告

ANSI Common LispのDictionaryの翻訳が終わりました。
トップはここ。

https://nptcl.github.io/npt-japanese/md/ansicl/index.html

気が向いたらformatの構文のところだけ翻訳するかもしれません。
~Aの使い方とかいつもいつも自分が困ってるんで。

翻訳してた時にnptのバグもいくつか見つけました。
適当に列挙します。

  • バグ

    • defparameter, defvarコンパイル時に副作用してはいけない
    • compiler-macronotinlineで禁止できる
    • sxhashは循環構造があっても終了しなければならない
    • describeで循環構造を見つけなければならない
    • 数学関数のブランチカット全部見直し
    • compile時の副作用見直し
    • (もっとあったはずだけどメモしてなかった、また何度か見直すと思う)
  • なんとかしたい

    • inline, notinline, dynamic-extentを何とかしたい
    • Metaobject Protocolなんとかしたい(★優先度高い)
    • inspectをちゃんと作れば面白そう
  • 影響が大きすぎて嫌になるバグ

    • たぶんconditionrestartが起きたタイミングで gc起動するといろんな箇所でメモリ破壊が生じると思う
  • その他

    • あともっとあったらここを更新していきます。

今後はnptの開発に戻ります。
飽きるまで次のことをちゃんとやっていきます。

  • Metaobject Protocol
  • eval, compile-file
  • ブランチカット

なんにせよ翻訳が完成できてよかった。
ようやくプログラミングに戻れる。