
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/