Boost logo

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