Boost logo

Boost :

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
http://www.mywikinet.com/mpl/mpl_23_jul_02.zip.

> What are meta_fun[1|2]? It is the first time you mention them.

The templates that convert metafunctions of given arity into metafunction
classes.

>
> 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
specialization?

Yes.

>
> 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"

Fixed.

> 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?

Yes, fixed.

Aleksey


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