タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

関数型言語と圏論に関するaoe-tkのブックマーク (3)

  • 無理して(圏論的)モナドをJavaで説明してみる - 檜山正幸のキマイラ飼育記 (はてなBlog)

    どうも関数型の風(微風かな?)が吹き始めているようです(「技術者の技術教養は変化するのか(しないのか)」参照)。とはいえ、ほとんどの現場で実際に使われているプログラミング言語はせいぜいオブジェクト指向と称するものです。そんな状況ですから、中途半端な過渡的方便としては、“バカバカしくめんどくさい”記述になるのを承知で、現場的言語でファンクショナルな、いやもう一声、カテゴリカルな概念を説明するのも無意味ではないかもしれません(とか言ってみたが、単に興味位で実は無意味だろう、ダハハハハ)。 Listモナド それで今日の話題は、Listなんです。型パラメータXを付けたList<X>の形のものね。これは、「型Xを渡すと新たな型を創り出す機能」ですから、「型に型を対応させる関数」ともいえます。 このList<X>は、単に「型→型」対応を与えるだけでなく、独特の(しかし普遍性もある)構造と法則性を持

    無理して(圏論的)モナドをJavaで説明してみる - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • モナドの定義とか - 檜山正幸のキマイラ飼育記 (はてなBlog)

    モナド関係で、KMさんと酒井さんにコメントをいただいて、僕もコメント欄に書き込みました。話が少しややこしくなったので、このエントリーで続きを。 コメント欄のやりとりで分かったことは、“Haskellのモナド”がモナドもどきではなくて、どうも、正真正銘の圏論的モナドであるらしいことです。であれば、Haskell知らずの僕が語ってもまー大丈夫かな、と。(メモ編に書くべき内容かもしれないけど。) Listは典型的モナドに思えないかも知れない 「Listモナドは典型的モナドだ」と僕は書いたのだけど、Haskellのヒトには違和感あるかもしれないですね -- Listはたいていのプログラミング言語でサポートされている平凡なデータ構造ですから。状態遷移とか入出力のような副作用を表現するモナドのほうが“モナドらしい”のでしょう、おそらく(憶測モード)。そうであってもなお、Listがやっぱり典型例なのは事

    モナドの定義とか - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • 「モナドは象だ(Monads are Elephants)」日本語訳 — Japanese Translation of Monads are Elephants v1.0 documentation

    「モナドは象だ(Monads are Elephants)」日語訳¶ この文章は、以下の記事の翻訳です。 Monads are Elephants: http://james-iry.blogspot.com/2007/09/monads-are-elephants-part-1.html http://james-iry.blogspot.com/2007/10/monads-are-elephants-part-2.html http://james-iry.blogspot.com/2007/10/monads-are-elephants-part-3.html http://james-iry.blogspot.com/2007/11/monads-are-elephants-part-4.html JAMES IRY:ONE DIV ZERO: http://james-iry

  • 1