Boost logo

Boost :

Subject: Re: [boost] Hana Typeclass
From: Louis Dionne (ldionne.2_at_[hidden])
Date: 2014-08-03 17:26:55


Robert Ramey <ramey <at> rrsd.com> writes:

>
> I can't review the whole library. So I'm confining my observations to just a
> couple of aspects. My method is to review some section of the documentation.
> it looks like a critique of the documentation, but it's really observations
> on the underlying design of the library.
>
> [...]

Looking at all the discussions about concepts and comments about type classes
that Hana has brought up, I really think I messed up when I tried to answer
the "what are type classes" question in the documentation. The docs marketed
them as something they were not (an implementation of concepts) and poorly
reflected my own view. I'm working on fixing this (and other aspects of the
documentation).

For now, I'd rather have people think of type classes as a Boost.Fusion tag
dispatching system on steroids. It's much closer to that than from C++
concepts, Boost.ConceptCheck and other library implementations of concepts.
Do not forget that Hana is (roughly) a library for manipulating heterogeneous
containers, like Fusion. For users, type classes should have about the same
importance as that of tag-dispatching in Fusion, so that's not a major aspect
of the library, even though the current documentation is misleading on that
point.

Regards,
Louis


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