タグ

ブックマーク / camlspotter.hatenablog.com (22)

  • オブジェクトは OCaml の鬼子 - camlspotter’s blog

    前から言いたかったことでもあるので、釣られてみることにした。(長文) without objects!? より: 継承を使わないのは分かる。オブジェクト使わないってなんだよ!?多相レコード使いたい時にJSCの人々はどうやって書いてるんだ!? なんか、FP vs OOの構図でOO嫌いといいたいのかもしれないけど、こーゆー激しく誤解を生みそうな話を広めないでほしい。JSCの人々はせっかくすばらしい仕事して影響力あるんだから。 はい、OCamlにおけるオブジェクト、クラスはとっても大事だと思います。というか、オブジェクトなしでOCamlのプログラミングなんて考えられません。別に惹玖先生の肩を持つとかそーゆー意味でなく、純粋に技術的に。 これは誤解でも何でもありません。J社 ではオブジェクトは使っていないようです。Caml team でもまずオブジェクトは使いません。Jacques Garrigu

    オブジェクトは OCaml の鬼子 - camlspotter’s blog
    okagawa
    okagawa 2008/09/08
    objectを除いたOCamlの、他のML系言語に対する優位性って何なのだろう。多相バリアントとライブラリ?
  • strstr、もしくは文字列内の文字列を探す関数 - camlspotter’s blog

    OCaml の標準ライブラリにはなぜ文字列内の文字列を探す関数がないのか? C にだって、char * strstr(const char *haystack, const char *needle) という関数があって、haystack(藁の山)から needle(針)を探し出してくれるのに、、、おかしいよ、変だよ。 おかしいか?変か? まあ、おかしいかもしれないね。 でも理由がないわけじゃない。文字列サーチは使われる状況によって、効率のよい書き方が異なるからだ。 そもそも検索回数、needle, haystack の長さすべてが小さければ、無理やり頭から探す C の strstr と同じ方式が手っ取り早い。 同じ needle を膨大な種類の haystack から見つけ出す場合、正規表現がよい。 一回毎に needle が違う場合は、一つ一つの needle に対応する正規表現を作る

    strstr、もしくは文字列内の文字列を探す関数 - camlspotter’s blog