タグ

2006年3月21日のブックマーク (3件)

  • 2004-07-17

    前回の続き。 今日はコードがひときわ多い。 CからHaskellは呼び出せたので、 今度はHaskellからCコードを呼び出してみようと思う。 …しっかし、マニュアルが全然読めない。英語なので… どうでもいいがForeignモジュールはHaskellの暗黒方面っぽい。 メモリ確保とかメモリの読み書きとか、見ていて眩暈が… -- foo.c #include "HsFFI.h" #include HsInt foo(HsInt n) { int i,sum=0; for (i=1;i<=n;i++){ printf("%d\n",i); sum+=i; } return sum; } -- main.hs foreign import ccall "foo" foo :: Int -> IO Int main :: IO () main = do n <- foo 10 putStrLn (

    2004-07-17
    ysano2005
    ysano2005 2006/03/21
    HaskellからCコードを呼び出し
  • scat.rb:ERROR

    ysano2005
    ysano2005 2006/03/21
    他の言語との連携例: C言語とPerl
  • 最速インターフェース研究会 :: Haskell風にJavaScriptを書く

    ていうのをだいぶ前に作ったんだけど、コードがごちゃごちゃで何やってるか自分でもよくわかってなかったのでちょっと整理して公開。フィボナッチ数列を求めるのに大変便利です。 http://la.ma.la/misc/js/haskell/ 関数の定義を記述すると、再帰処理でごにょごにょやって求めてくれる関数を生成します。メモ化もします。色々いじってたらなんとなく出来た。あんまり細かいツッコミされても困る。 実際のところJavaScriptは再帰処理をたくさんさせるとすぐにスタックオーバーフローで止まってしまうので使い物になりません。数を大きくすると即死したりするので注意が必要です。タイマーを使って再帰処理させるとかトリッキーなことをすれば回避することもできるのだけれど面倒くさい。 遅延評価っぽくなっていて、 // 代入はできる test = ack(100,100); // アッカーマン関数(1