|
Boost : |
Subject: Re: [boost] Monad (was: Re: [Boost-users] [afio] Formal review of Boost.AFIO)
From: Niall Douglas (s_sourceforge_at_[hidden])
Date: 2015-08-25 10:36:37
On 25 Aug 2015 at 17:11, Andrey Semashev wrote:
> However, reading your argument I don't see the rationale behind
> choosing the name which overloads what apparently is a well understood
> term in Haskell.
Monad is a far wider thing than what Haskell does with it. Many
languages implement monads, including Rust.
And for reference, Rust's monad is very different from Haskell's
monad.
> If the meaning of your monad<> differs from that well
> established understanding then this will certainly lead to confusion
> and endless questions and notes like 'that C++ monad is not the monad
> you know'. To me this indicates that the naming choice is poor.
Every programming language implementing monads does it own thing. Or
even provides more than one interpretation. I can see a future Boost
with multiple competing monadic programming libraries.
> So my point is name it donkey, if you feel this name reflects the
> component purpose well (I doubt it). Pick another name that is not
> overloaded yet or has close semantics. Only keep monad if it doesn't
> cause confusion.
monad<T> still provides all the essential monadic programming
operations, and it behaves mostly like a fixed function monad.
Niall
-- ned Productions Limited Consulting http://www.nedproductions.biz/ http://ie.linkedin.com/in/nialldouglas/
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk