2008-08-01から1ヶ月間の記事一覧

Language.C (cont.) - flexible array member(C99) を サイズ0の配列(GNU C互換)に変換

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 r…

Language.C を使ってC言語のソースコードを解析する (with Data.Generics)

Language.CはHaskell用の、C言語のソースコードを構文解析するライブラリである。 Language.CはパーザとともにC言語の構文木に相当するデータ型を提供しており、C言語のソースコードをHaskellのデータとして操作可能である。このため、Language.CはC言語のコ…

Java Swing Metal Look & Feel title bar printing bug fix

bug description Swingの印刷機能を用いるとき、Mac OS X の VMでは、次の状況で、例外が発生する. MetalのLook&Feelを使っている JInternalFrame等、タイトルバーがウィンドウの内部に描画されている ウィンドウ内部を printAll() メソッド等で印刷しよう…

何故か書いてしまったduck typing (Haskell,存在型+型クラス)

存在型+型クラスでduck typing. 参照:http://www.haskell.org/haskellwiki/Existential_type 既に言及されてますが、このやり方だとHaskellはnonintrusive-explicit-dynamic に該当しますね。 テーブル修正しました。 class Duck a where quack :: a -> IO …