目的
メモリリークが生じてるバグを直してみたくて動作の理解をすることから始めてみました
どのあたりでメモリのどれをfree
したらいいのか秒でわかりそうになかったのでコードリーディングになりました
irori/lazykとは
プログラミング言語Lazy KのC言語実装
たった一つのlazyk.cファイルに動作のすべてを実装してる
なんか色々と読んでみたけどLispマシンのようなことをやってると思った
セルをペアとして兼用したりとかやってるんだなと
ガベージコレクションもマジで自前実装
コードリーディングした過程や途中の手書きのメモ
最初に定義されてる構造体とかグローバル変数とかのメモ
ストレージの関数とか動作の図示
リデュースマシンの動作の図示
リデュースマシンとかの動作を理解した後に記述したガベージコレクタの動作
プログラム終了時にメモリをする場所を記憶するのはどこがいいのかを述べてるやつ
まとめ 手書きでメモった結果わかりやすくなったかも
ってことでメモった結果をもとにコードに反映しようと思う