タグ Freeモナド
人気順 10 users 50 users 100 users 500 users 1000 usersHaskell - Freeモナドで領域特化言語を作るとプリティミューテーション - Qiita
多くのプログラミング言語が用途を限定しない汎用の言語として設計されているのに対して、領域特化言語(ドメイン固有言語, domain-specific language)は何らかの目的に特化して設計された言語のことをいいます。領域特化言語を導入する利点のひとつは、プログラムの各部分の役割が明確になり、ソフトウェア全体の設計がよりわかりやすくなるというものがあります。たとえば、ゲームソフトウェアではゲ... 続きを読む
Freeモナドを超えた!?operationalモナドを使ってみよう - モナドとわたしとコモナド
2013-05-09 Freeモナドを超えた!?operationalモナドを使ってみよう 限定版IOみたいなモナドを簡単に作れたら、コードが分離できるしテストもしやすくなるのになあ… 数か月前なら、 それ、Freeモナド*1でできるよ! と返されるだろう。だが今は違う。Freeモナドよりも簡単にモナドを作れるモナド、Operationalモナドがあるのだ。 Freeモナドについて復習しよう。Fr... 続きを読む
Freeモナド in Scala - ( ꒪⌓꒪) ゆるよろ日記
2012-11-16 Freeモナド in Scala scalaz scala 関数型言語 haskell 噂のFreeモナドをScalaで写経してみた。 Freeモナドは、取り込む型SのFunctorと組み合わせて、Functorの特性に応じたモナドを得ることができるものらしい。 そろそろFreeモナドに関して一言いっとくか - fumievalの日記 Freeモナドって何なのさっ!? - c... 続きを読む
そろそろFreeモナドに関して一言いっとくか - fumievalの日記
Freeモナドはすごい。 Haskellを書いていて、「特殊化された処理を記述するモナドが簡単に作れたら便利だろうなー」と思ったことはないだろうか?簡単に作れるのである、そう、Haskellならね。 これが、純粋なFreeモナドの定義である。 data Free f a = Pure a | Free (f (Free f a)) instance Functor f => Monad (Free... 続きを読む