You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
This weekend was AusHac 2011. I spent my time getting Haskell to compile to the Nintendo DS. I remember reading a while ago about someone using JHC to compile a Haskell executable for the iPhone. JHC is a Haskell compiler that outputs fairly sane C code. I figured that it’d be fairly easy to get it to output code to work with devkitPro. I had a quick version of this project working in December but
GC Advent Calendarでは時間的に書けなかった、JHCのGCの解説をまとめる。 JHCのGC概要 JHCには下記3つのGCオプションがある。 GCなし BOEHM GC JGC このうち、上の二つはgc_noneによる実装であり、JGCはgc_jgcによる実装である。 この様な構成になったのは、JGCが後から追加されたためだと思われる。 gc_none の挙動 GCなし アロケーションのために必要となるメモリ空間の確保は基本的にmallocで行われる。 mutatorへの割り当ては jhc_malloc と jhc_malloc_atomicの二種類の関数がある。 Boehm GC BOEHM GCを使用するための実装(初期化等)も一部はここにあるようだ。 gc_jgc の挙動 JHCオブジェクトの基本構造 JHCの世界ではすべての値がポインタを介してアクセスされる。ポインタ
jhcが生成した手元のコードを gcc 2.95でコンパイルするにはもうひとつ障害があった. JHCはサンクを以下の構造体で管理するようだ: typedef struct node { fptr_t head; sptr_t rest[]; } A_MAYALIAS node_t; typedef struct dnode { what_t what; sptr_t rest[]; } A_MAYALIAS dnode_t; ここで、 rest[] は flexible array member とよばれ、そのままだと(おおむね)サイズ0の配列として扱われる.この構造体を使うには、malloc(sizeof(node_t)+ほげほげ)のようにして、rest分の領域を確保する. これのp.103, 6.7.2.1節の16に載ってます: http://www.open-std.org/JTC1
Jhc Haskell Compiler How to install The Manual jhc is a haskell compiler which aims to produce the most efficient programs possible via whole program analysis and other optimizations. Using Jhc See the Installation Page for information about downloading and installing jhc. For information on running jhc, see The User's Manual. Join the jhc mailing list for jhc discussion, announcements, and bug re
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く