エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
Clojureでモナド内包表記とStateモナド
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Clojureでモナド内包表記とStateモナド
cljsbuildのcrossoversという機能を知らない所為で今まで無駄に苦労してきましたが、これでマクロが使え... cljsbuildのcrossoversという機能を知らない所為で今まで無駄に苦労してきましたが、これでマクロが使えないという制約から解き放たれました。 万歳!cljsbuild! マクロが使えるようになってまず一番最初にやることは何か? もちろん、モナド内包表記の実現ですね! HaskellのdoよりはScalaのforの方が慣れているのでこちらを採用しました。 動的型付けの言語でのモナドの実現はいくつか見てきましたが、明示的にコンテキストを指定するタイプはあまり好かないので、ClojureらしくProtocolで表現することにしました。 Monadic Protocol 通常モナドはunitとbindが実装され、モナド則 bind f (unit x) == f x bind unit m == m あともう一個なんかあった気がする を満たしますが、動的型付けの言語でunitを実現する