myuni

readerの実装 の1 : pre-parse

readerは後からどう実装しても替えが効くので適当に作っておく。重要なのは、 annotatedなreaderを作る annotateされたcellを扱うためのmapとか あたり。もっとも、annotateはオブジェクトシステムと連携しないとどうしようもないので、入れられるようにだけ…

拡張構文

moshを改造する前に小規模な実装で試してみることにした。mosh付属のパーサを改造するのが地味に難航しているので。 キーワード Gauche由来のキーワード記法。一種のリーダーマクロ。 :hoge => (keyword hoge) myuniには(並列プログラムの効率性のために)分…

セグメントの管理

ヒープ管理の根本となる部分は"セグメント"とよぶ。C言語なりなんなりで言うところのmallocとfreeを実装する仕事になる。 管理対象は16kbしか無いので、とりあえず線形リスト、first-fitで実装することにする。 セグメントヘッダのチェイン セグメントとして…

Vector heads

Vector headの設計は微妙に難しい。なぜなら、ベクタをユーザ定義可能にするとは、GCのための手続きを提供できるようにすることを示す。もちろん、通常のシチュエーションであればread,write,displayのための手続きも提供したいだろう。 Vector headは15bits…