タグ

ブックマーク / practical-scheme.net (2)

  • Gauche:automake+libtoolize

    (*: libgaucheをstaticで生成すると、extensionがコンパイルできない) (2003/05/18 01:09:37 PDT): というわけで、ltmain.shを変更して、 libtool実行時に--disable-static/--disable-dynamicを受け付けるようにした。 -no-undefinedの有無 extensionのリンク時に-no-undefinedを指定しないと、libtoolは CygwinでDLLを作ってくれない (シンボルを解決するのに必要な ライブラリを全て与えても、だ)。 一方、MacOS Xではgoshをスタティックリンクする必要上、 -no-undefinedは指定できない。 他のunixではどちらでも良い。 dsoを作るときにwhole archiveの順番を変える DSOに、別ディレクトリで作成されたアーカイブfoo/f

    Gauche:automake+libtoolize
    takanori_is
    takanori_is 2009/01/31
    「automakeを使って楽になるのは、makefileを最初に書く人だけ。」
  • Scheme:ExplicitMonad

    Shiro: SchemeでMonadを書こう、という話はちょくちょくある。 OlegさんのMonadic Programming in Scheme Neelakantan KrishnaswamiのMonads in Scheme teranishiさんのページ howm wiki - モナド 実用的な見地からは、Monadが便利なのはモナド則を満たす基演算を定義 しておけば他の色々な操作がジェネリックに行えることだ。 (call-with-iteratorsさえ定義しておけばgauche.collectionの色んな ジェネリック関数が使えるようになりますよ、というのに似ている)。 ただ、Schemeのような実行時型判定を行う言語でMonadを使おうとすると どうもすっきりいかない。というのは、Monadの基演算が引数の型だけでなく 戻り値の型でディスパッチする必要があるからだ。

    Scheme:ExplicitMonad
  • 1