Boost logo

Boost :

From: JOAQUIN LOPEZ MU?Z (joaquin_at_[hidden])
Date: 2006-07-24 17:58:28


----- Mensaje original -----
De: David Bergman <David.Bergman_at_[hidden]>
Fecha: Lunes, Julio 24, 2006 9:11 pm
Asunto: Re: [boost] [mpl] Metafunction terminology - revival?

> Joaquin wrote:
>
> [snip]
>
> > I've reread the referred page, and all I can take it to
> > define is: a lambda expression is a metafunction class or a
> > placeholder expression. Whether this is what the authors actually
> > *meant* is debatable, of course.
>
> What I think it literally means is that a lambda expression is
> either a metafunction class or a placeholder expression, much
> like a woman is either nice or mean. This does NOT imply that all
> nice people are women ;-) So, I think even the literal reading of
> the refered sentence(s) leaves room for non-lambda-expressive
> metafunction classes...

"A woman is either nice or mean" is not a definition of the
term "woman", yet the referred page stands for a definition
of "lambda expression", so an "if and only if" implication is
assumed. OK, Abrahams and Gurtovoy's book's chapter 3 has been
webpublished at artima.com and there you can read the following:
( http://www.artima.com/cppsource/metafunctions2.html )

"We'll refer to metafunction classes like add_pointer_f and
placeholder expressions like boost::add_pointer<_1> as
lambda expressions."

(add_pointer_f is a metafunction class defined a couple of
paragraphs before.) Does this convince you? Anyway, we're
not discussing Aristotle or Descartes, on the contrary we
enjoy the presence of MPL authors amongst us and can always
ask them directly.

[This does not detract from the fact that your choice
of terminology is probably superior, I'm only nitpicking
you for the joy of discussion. I hope you're taking it
similarly :) ]

>
[...]
> > <pedantic digression>
> > Just to play devil's advocate, what gives a lambda expression
> > its essence, at least in mathematical lambda calculus, is not
> > the presence of place holders, but the ability to apply to
> > actual arguments,
>
> No, that is not true, actually, since that essence of
> applicability is best captured by the notion of "function." A
> lambda expression is a special type of function (or, rather,
> lambda expressions are isomorphic to a set of functions...)

I'd say lambda calculus captures aplicability better than
the cartesian definition of function as a special subset
of a product set AxB, but well, it's hard to argue this
objectively.

[...]
> /David

Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo


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