これまで jhc のソースコードを読みながら少しずつ改造をして遊んでいたでゲソが、 そろそろpatchが増えてきてまっとうなリポジトリを用意しないと破綻しそうでゲソ。 できればpatchをjhc本家に取り込んでもらいたいところでゲソ。 ところが原作者のJohnがどうも忙しいらしく、なかなかmergeしてくれないでゲソ… 1
あまりプロジェクトのforkをしたくないところでゲソが、 このままでは作業が進まないのでjhc向けpatchを貯めるだけのプロジェクトを作ったでゲソ。 その名も Ajhc - arafura-jhc 2 でゲッソ!
とはいえ改造にあたって何かテーマを決めたいでゲソ。 jhcは小さなバイナリを吐けるのだから、小さなマイコンでHaskellコードを動かすとかどうでゲソ? 例えば以下のようなマイコンであればある程度メモリもあるのでなんとなるんじゃなイカ?JTAGも付いてるのでgdbでデバッグもできるでゲソ。 しかも秋月価格で¥950(税込) と無茶苦茶安いでゲソ。 ところでこの挑発的な価格はいったいなんなんでゲソ… ST、怒らせると怖い子でゲソ…
ぐぬぬぬ…ということで 移植できたでゲソ! ちゃんとHaskellヒープも使えてGCも動くでゲソ。 RAMは28kBしか使っていないでゲッソ!!!
$ pwd
/home/kiwamu/src/demo-cortex-m3/stm32f3-discovery
$ make
$ arm-none-eabi-size main.elf
text data bss dec hex filename
15796 1160 26876 43832 ab38 main.elf
Ajhcへの変更は このpatch だけでゲソ。 修正内容を解説するでゲソー。
このpatchのあたったAjhcを使って、 いろいろこねくりまわせ ば こんなの ができるんでゲソ。
完全にjhcをforkして一人歩きする予定はAjhcプロジェクトにはないでゲソ。 Ajhcはあくまでjhcにmergeされていないpatchをためておくための器にすぎないのでゲソ。 そのため有用なpatchは jhcメーリングリスト にて協議の上 jhcにmerge してもらわなければならないでゲソ。 在りし日の EGCS (Experimental/Enhanced GNU Compiler System) のように、jhc本体の活動が活発になったらAjhcは消滅すべきプロジェクトでゲソ。
Ajhcプロジェクトの ロードマップ的なにか を書いてみたでゲソが、予定は未定。どーなるかわからないでゲソ。
Ajhcのファーストリリース をしたら 全部mergeしてくれたでゲソ。 Johnはやる気になればデキる男なんでゲソ!↩︎
もしくは単に“A fork of jhc”を略して“Ajhc”↩︎
blog comments powered by