
On 08/03/2014 05:30 PM, Robert Ramey wrote:> Louis Dionne wrote
Robert Ramey
writes: [skip] One thing that the documentation needs is a good motivating example(s). The user should be able to look at this and in 1/2 hour know how this is going to make his life easier. Here's an example
the 8 queens problem:
a) class C++ solution using mutable objects, containers, etc. b) solution using HANA 1) why it's more verifiably correct 2) why it's shorter 3) why it's faster 4) why it's faster than the same algorithm rendered in Haskell c) scale to N queens
See http://cppnow.org/schedule-2014/
Regards, Louis
Another good motivating example would be something like spirit, although, to make a good example, it would have to be extremely scaled down from spirit, but would have the essentials, such as: 1) some way to represent a record of recusive equations ( the grammar productions ). This record would actually be a sort of fusion-like map from the rhs name or "index" to the corresponding lhs expression expression. 2) some way to compile those productions into a record or map of recursive parse functions where, again, the map key would be the rhs name and the value would be the corresponding parse function. I believe in spirit2 this is what proto did (at least, IIRC, there were several transforms with "compile" in their names). I've no idea if this is even possible, but if it is, then to make it usable, it would have to be as fast or faster to compile than the current spirit3 implementation which Joel is currently working on: http://article.gmane.org/gmane.comp.parsers.spirit.general/25490 Compile times were raised as in issue in this thread: http://article.gmane.org/gmane.comp.parsers.spirit.general/26746 IIRC, Joel used, I think, Argument Dependent Lookup to alleviate the compile times; however, I can't find the post now. Sorry. -regards, Larry