![【追記あり】ChatGPTじゃなくて人力でモナドが発明された経緯を適当に調べた(ソース付き)。 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/2f3aab5649fe0454363e9fc2ee7bf7e7ced139ae/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9JUUzJTgwJTkwJUU4JUJGJUJEJUU4JUE4JTk4JUUzJTgxJTgyJUUzJTgyJThBJUUzJTgwJTkxQ2hhdEdQVCVFMyU4MSU5OCVFMyU4MiU4MyVFMyU4MSVBQSVFMyU4MSU4RiVFMyU4MSVBNiVFNCVCQSVCQSVFNSU4QSU5QiVFMyU4MSVBNyVFMyU4MyVBMiVFMyU4MyU4QSVFMyU4MyU4OSVFMyU4MSU4QyVFNyU5OSVCQSVFNiU5OCU4RSVFMyU4MSU5NSVFMyU4MiU4QyVFMyU4MSU5RiVFNyVCNSU4QyVFNyVCNyVBRiVFMyU4MiU5MiVFOSU4MSVBOSVFNSVCRCU5MyVFMyU4MSVBQiVFOCVBQSVCRiVFMyU4MSVCOSVFMyU4MSU5RiVFRiVCQyU4OCVFMyU4MiVCRCVFMyU4MyVCQyVFMyU4MiVCOSVFNCVCQiU5OCVFMyU4MSU4RCVFRiVCQyU4OSVFMyU4MCU4MiZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1jbGlwPWVsbGlwc2lzJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9ZDcyMTNlNmU3YTE3ODYzMjg0M2Y3MzlmMjlhZGMzYTg%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTcxNiZ0eHQ9JTQwaUhka3omdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zMiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTMyYmIyZjhmOGFiYjE1NGEyZTgyMTY3YmUxM2ZlYTRl%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D4c22e5875f80f6af23b8a621afc679c3)
この記事は言語実装Advent Calendar 2020 25日目の記事です。(2022-11-06: 記事の内容を追記していますが、この記事の結論としては「似たようなものは作れるが、完全体にはならない」です) 前提知識 高階カインド型 モナド 従来のエミュレーション方法 Generic Associated Types を用いたエミュレーション(new!) 型クラスを定義する Functor を用意する Pointed を用意する Applicative を用意する Monad を用意する いくつか型を実装していく 現状実装できないもの do 記法 Generic Associated Types(GATs)とは何か 追記(2022-11-06) リポジトリ 参考文献 モナドに関する話題が言語実装アドベントカレンダーの範疇に入るのかわかっていませんが*1、プログラミング言語がお好きな方
There are common monads associated with common effects: Maybe for failure, [] (list) for nondeterminism, State for state… What about the continuation monad? We shall see why the answer is all of the above, but better. Indeed, many effects can be understood and implemented in a simple and uniform fashion in terms of first-class continuations. Extensions and imports for this Literate Haskell file {-
Summary: You can describe type classes like monads by the graphs they allow. In the Build Systems a la Carte paper we described build systems in terms of the type class their dependencies could take. This post takes the other view point - trying to describe type classes (e.g. Functor, Applicative, Monad) by the graphs they permit. Functor The Functor class has one operation: given Functor m, we ha
Last updated: Monday, January 23 2023 A few years back I laid out some houserules I was planning to use for an upcoming D&D campaign. That campaign finished up, and I'm thinking about running another, so I've spent some time thinking over what I liked and disliked with what I did, and what I'd tweak further. I'll start with my current plans, then go over my evaluations and reasoning later. Carried
「return と pure って同じじゃないの?」「Monad クラスの fail って数学的なモナドにはなくない?」 Haskell初心者が引っかかるポイントの一つが、 Monad クラスと Applicative クラスの関係だろう。他にも、 Haskell 2010 の Monad クラスには数学的なモナドと照らし合わせると奇妙な点がいくつかある。 この記事では、近年行われている Monad クラスへの破壊的変更をまとめ、変化の途上にある Monad クラスの理解の一助としたい。 Haskell 2010 での Monad クラスとその問題点 Haskell 2010 Language Report では、 Monad クラスは次のように定義されている: class Monad m where (>>=) :: m a -> (a -> m b) -> m b (>>) :: m
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く