Pure から C のライブラリを使ってみる
裏で LLVM を使ってるんだぜすごいだろ的なサンプル。Pure で副作用を使う方法がよくわからないので(できないような気もする)カウンター関数を C で作って使ってみよう。
まずは counterlib.c と counter.pure を用意します。
/* counterlib.c */ int counter(){ static int counter = 0; return counter++; }
/* counter.pure */ using system; using "lib:counterlib"; extern int counter(); printf "%d\n" counter; printf "%d\n" counter; printf "%d\n" counter;
次に counterlib.c をコンパイルします。
$ gcc -dynamiclib counterlib.c -o counterlib.dylib $
実行してみよう。
$ pure counter.pure 0 1 2 $
簡単だね。