Boost logo

Boost :

Subject: Re: [boost] Hana Typeclass
From: Joel de Guzman (djowel_at_[hidden])
Date: 2014-08-03 17:59:07


On 8/4/14, 4:42 AM, Niall Douglas wrote:
> Hana is different. This student engineer new to Boost and the way
> things are done here has tried to break new ground and do new stuff
> which demonstrates the power delivered by C++ 14 compilers. He's
> taken a very Haskell-y route, right down to the un-C++ terminology
> and not using STL idioms, but then so what if he has? The STL is an
> ancient legacy design, it may be time to diverge drastically, or it
> may not.
>
> I have no idea if what he's done or how he's done it is the best
> approach - I'm not competent in this area like Eric or Joel is. But
> how he went about the prior art research, the benchmarking of all
> implementation approaches, the presentation of his work at C++ Now
> before proceeding with implementation, all of this bodes extremely
> well indeed. Whatever he has done, it isn't going to be ill judged
> and muddled, that's for sure.

I'd do it differently, if I were Louis. There was at least one library
a few years ago (FC++) that attempted to get Haskell style into Boost.
It was not accepted into Boost for many reasons such as the alien
abstractions that somehow go against the grain of C++. This is C++,
not Haskell. Another problematic point is the totally immutable design,
again as an outcome of the Haskell lineage. It seems Louis likewise
advertises Hana as immutable/const only. C++ folks embrace references
and non-const operations as part of being C++. Perhaps Louis should
study FC++'s Boost review and learn from it.

That being said, let me go for the record that I think Louis is
doing a splendid job on Hana especially in the way he takes
advantage of advanced C++14 facilities. If he can make it more
C++-ish rather than Haskell-ish, then I think he'll be on the right
track for acceptance.

Regards,

-- 
Joel de Guzman
http://www.ciere.com
http://boost-spirit.com
http://www.cycfi.com/

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