From: Aleksey Gurtovoy (agurtovoy_at_[hidden])
Date: 2002-07-23 06:06:14
Gennadiy Rozental wrote:
> More comments on Boost C++ Metaprogramming Library Paper
> page 24 3. Lambda facility
> What bind is used there? Is it boost::bind?
Nope, it's a compile-time mpl::bind.
> If not it worth to add an explicit namespace.
The whole "Lambda facility" section lacks a proper namespace qualification
(historical reasons :). Fixed in
> What are meta_fun[1|2]? It is the first time you mention them.
The templates that convert metafunctions of given arity into metafunction
> Part about _ placeholder confused me a lot.
> First you describe an alternative way to get an equivalent
> metafunction. Why do we need that? Will it work without partial
> Statement: "In absence of lambda ... MPL enables one to write
> the above in a less cumbersome way" confuses me. Why did not we
> used this less cumbersome way in general?
It's confusing indeed. "a less cumbersome way" is always provided. Reworded.
> "for the case , when all the arguments are replaced by a special lambda
> placeholder _." What is this case How come we needed numbered
> placeholders before and do not need them any more?
> Later on you rewrite second "alternative way" bind example
> with use of _.
> But you still use _1,_2 on one place. So, where we could and
> were we could not use them?
I've reworked the section a little bit so it reflects the current library
functionality (it didn't before). Hope it's more clear now and answers your
questions. I am working on a complete rewrite of the section that
(hopefully) will make things much more clear - just give me some more time.
> Page 25 Syntax error "metufunction"
> Page 26 4. Code generation facilities
> and what are the general requirements for metafunction class
> to be able to use it for code generation
I reworked this one as well; it should be more informative now.
> Page 29. 5.1
> When you trying to show how short would it be to use MPL to implement
> transition table, you achieve this by omitting a lot of "details".
> What is "transition" class? You did not define it.
> What is "state" class? You did not define it.
> What is "state_machine" class? You did not define it.
> So you could not say "that's all - the above will generate a
> complete FSM".
Yes, the example should definitely go more into implementation itself. It's
on my to do list.
> You mention TTS. Did you mean STT?
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk