Boost logo

Boost :

Subject: Re: [boost] [GSoC] [Boost.Hana] Formal review request
From: Louis Dionne (ldionne.2_at_[hidden])
Date: 2014-07-30 17:53:50


pfultz2 <pfultz2 <at> yahoo.com> writes:

>
> > Then again, if the interface of hana::fmap is nothing like the interface
> > to std::accumulate, it could lead to confusion. The MPL names work in
> > part because MPL is STL-ish design (containers/iterators/algorithms).
> >
> > Just throwing that out there. No strong feelings. Naming Is Hard.
>
> Also, I would like to mention that some names don't have exact equivalents
> in C++. For example, `bind` could be called `flat_transform`, however, that
> really only makes sense for sequences. Although, I do think, it would be
> better not to call it `bind` since it already means something else to C++
> programmers, so another name could avoid confusion, I'm not sure what that
> name would be(perhaps `apply` or `compute`?).

I agree that `bind` isn't a good choice. I'll think of something, but `apply`
and `compute` are out of question because Monads are not computations; that's
just one metaphor.

> Also, I think it would be better to call the `Monad` concept, `Computation`
> or something like that, since monad doesn't mean anything at all outside
> the FP community.

First, I find Computation to be too reductive. Second, I don't want to rename
a concept that's well known in FP and unknown in C++ to something else that's
unknown in C++; I'd rather keep the well known FP word. Anyway, the day where
all C++ programmers will know Monads is coming, but DQMOT.

> Just some additional thoughts and suggestions. Naming, of course, is hard.

Yes it is!

Louis


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk