Talk:Monad (functional programming)

message: The clause "due to category-theorist Saunders Mac Lane" suggests that Mac Lane invented the term. This appears to be an exaggeration: Mac Lane may have popularized it (Categories for the Working Mathematician, 2nd Ed., p.138), but Where does the term “Monad” come from? documents ambiguity about the original source. This Week's Finds in Mathematical Physics (Week 200) credits Jean Benabou, whereas OPERADS, ALGEBRAS AND MODULES implies that J. P. May either invented the term or advocated it to Mac Lane before the latter published CftWM.
Mac Lane offers no definitive explanation of the name in CftWM, but his book is clearly the most reputable source among those I cited above. Absent an authoritative source, perhaps we should reword the "due to..." clause to highlight the ambiguity and more conservatively describe Mac Lane's role?
Monad (category theory) is similarly loose regarding attribution and should be clarified. Etymology? contains a brief but inconclusive discussion about the term's origin.  — Preceding unsigned comment added by Maniaphobic (talk • contribs) 03:07, 27 June 2019 (UTC)
replies: text: In the same vein ".. researchers working with Haskell eventually generalized the monad pattern" might be rephrased as ".. in the 2010s researchers working with Haskell eventually recognized that monads are applicative functors". (This leads back to Mac Lane as well.) page 138 of Categories for the Working Mathematician  --Ancheta Wis    (talk  | contribs) 06:05, 27 June 2019 (UTC)
thread_title:  Uncertainty about the term's etymology 

message: One of the comments in >>= operator for Maybe says: 
"f returns a defined value of type Maybe U".
Is that "defined" correct?
(It sounds like it's saying that that function call can't return Nothing.  However, function f's return type is Maybe U, so can't the function return _either_ "a defined value of type Maybe U" _or_ the Nothing value of type Maybe U?)
100.36.43.9 (talk) 18:36, 6 March 2021 (UTC)
replies: text: I think the main gist of the comment is correct, since it's placed with the 1st branch of the if statement. You're right though that it does sort of imply that Nothing wouldn't be a valid Maybe value, which isn't correct. I'll tweak the wording to emphasize it wraps a defined Just value within the Maybe type. --Zar2gar1 (talk) 23:11, 20 April 2021 (UTC)
thread_title:  "f returns a defined value of type Maybe U" 

message: Occasionally I'm seeing sentences that read more like a blog post than an encyclopedia:
With just a little extra functional spice on top, this Maybe type transforms into a fully-featured monad.
Having to rewrite functions to take Maybes in this concrete example requires a lot of boilerplate (look at all those Just expressions!).
I'm not up on the latest Wikipedia guidelines, so I'm not confident about what is allowed.  I'm curious about what the current thinking is from anyone who knows more about this topic. modify 15:16, 29 August 2022 (UTC)
thread_title:  Informal style 

message: Talk for BRD -- Ancheta Wis    (talk  | contribs) 02:03, 7 November 2023 (UTC)
thread_title:  Monad versus monoid 

message: It was added at https://en.wikipedia.org/w/index.php?diff=438062307 that the monoid being "non-commutative and idempotent" implies permutation. I think the property as described cannot mean "free and idempotent", as [a, b, a] wouldn't be called a permutation. Is there a way to clarify the property to really give permutations? Otherwise, is it even meaningful to name the collection type arising from free and idempotent monoid? Junghyeon Park (talk) 04:27, 11 December 2023 (UTC)
thread_title:  Permutation? 

message: Hi all. I would like to ask regarding the Rust example. It is written in Monad (functional programming)#An example: Maybe that the Rust example is using Maybe, Just, and Nothing, while Rust actually uses Option, Some, and None respectively . Is this intended to be written this way? Mangkoran (talk) 11:19, 19 December 2023 (UTC)
replies: text: It is not claiming to be in std namespace. While it is probably influenced by the crate https://crates.io/crates/rsmonad, I'm not sure if it's worth mentioning since the API seems pretty generic. Would some clarification help maybe? Junghyeon Park (talk) 07:36, 19 January 2024 (UTC)
thread_title:  Rust example