タグ

functionalに関するyojikのブックマーク (3)

  • セミナー補足:関数コードの実行エンジン - 檜山正幸のキマイラ飼育記 (はてなBlog)

    セミナー終わって、みんなでご飯べて、太田君の補習をしていたら、(僕にしては)だいぶ遅くなってしまったのですが、なにしろ事前にテンションあげていたので、すぐに眠れない。んでまー、日の「Eの、いろいろな定式化」について補足します。(ほぼ参加者にしか通用しない話で申し訳ないのですが。) fが2引数関数で、f^ は、fの関数コード、ただしパラメータは残ってないとする。 E(f^, a, b) = f(a, b) -- Eは3引数 E(f^, [a, b]) = f(a, b) -- Eは2引数、第2引数はタプル E([f^, a, b]) = f(a, b) -- Eはタプル1引数、タプルは3項 E([f^, [a, b]]) = f(a, b) -- Eはタプル1引数、タプルは2項だが入れ子 関数コードf^とは、関数の計算手順を刷り込んだデータです。Eは、Exec, Eval, Engine

    セミナー補足:関数コードの実行エンジン - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • 数理科学的バグ撲滅方法論のすすめ 第4回 関数型言語とオブジェクト指向,およびOCamlの"O"について

    関数型言語とオブジェクト指向は相容れない,という説をよく聞く。たしかに「オブジェクトは状態を持つ」「関数型プログラミングでは,できるだけ破壊的代入を行わない」とすれば,二つの概念は矛盾しているようにも思われる。また,技術的観点以外にも,「とかくシンプルさを好む多くの関数型言語プログラマが,何かと物事を複雑にする(と思われている)オブジェクト指向を嫌っている」という面があるかもしれない。 しかし,個人の好き嫌いはさておき,実際問題として,関数型言語とオブジェクト指向は大いに関係がある。むしろ,基礎理論については,ほとんど同じコミュニティの人たちが取り組んでいる,と言ってもいい。例えば,以下のような研究が,1980年代から現在に至るまで行われている。 関数型言語のモデルであるλ計算という体系において,オブジェクトを表現する研究(参考リンクなど) λ計算にならい,(プロトタイプベースの)オブジェ

    数理科学的バグ撲滅方法論のすすめ 第4回 関数型言語とオブジェクト指向,およびOCamlの"O"について
  • 関数型言語とOOと副作用 - sumiiのブログ

    http://www.rubyist.net/~matz/20061007.html#p03 Haskellのモナドを「副作用」と思うか、「副作用を表現する(こともできる)データ構造であって、副作用そのものではない」と思うか…という話はさておき。 しつこいようだが、そもそも「オブジェクト → 状態 → 副作用」という連想がmisleadingなmythであるように思われる(駄洒落ではありません)。80〜90年代には、TAPLの32章「Purely Functional Objects」に代表されるような、λ計算におけるオブジェクトの様々な表現が提案されたし、Abadi & CardelliのA Theory of Objectsにも関数型オブジェクト計算の話題が大量にある。Javaのminimalな計算モデルであるFJですら、破壊的代入がないという意味で関数型言語になっている。要するに、O

    関数型言語とOOと副作用 - sumiiのブログ
  • 1