私は、「モナド」という言葉がやや一貫性のない方法で使用されているように見えることに気付きました. これは、世の中に出回っているモナドのチュートリアルの多く (ほとんどではないにしても) が、モナドを自分で理解し始めたばかりの人々 (例: 核廃棄物の宇宙服のブリトー) によって書かれているためであると私は信じるようになりました。過負荷/破損のようなものになっています。
特に、「モナド」という用語は、Maybe、List、IO などの型の個々の値に適用できるのか、それとも「モナド」という用語は本当に型自体にのみ適用されるべきなのか疑問に思っています。
これは微妙な違いであるため、類推するとより明確になるかもしれません。数学では、リング、フィールド、グループなどがあります。これらの用語は、個々の要素ではなく、それらに対して実行できる操作とともに、値のセット全体に適用されます。たとえば、整数は (加算、否定、および乗算の操作と共に) リングを形成します。「整数は環」とは言えますが、「5 は環」とは言えません。
では、「はモナドである」と言えますかJust 5
、それとも「5 は環である」と言うのと同じくらい間違っていますか? Maybe
私は圏論を知りませんが、「モナドです」ではなく、「モナドです」と言うのが本当に意味があるという印象を受けていますJust 5
。