|
Boost : |
From: David Abrahams (dave_at_[hidden])
Date: 2005-11-03 16:09:20
Joel de Guzman <joel_at_[hidden]> writes:
> Comments, feedback very welcome!
Basics
Almost everything is a function in the Phoenix library that can be
evaluated as f(a..n), where n is the function's arity, or number of
^^^^
This notation is not familiar to me.
I would have expected:
f(a[sub 0], a[sub 1], ...a[sub [italic n]])
(using a made up quickbooky syntax)
arguments that the function expects. Operators are also
functions. For example, a + b is just a function with arity == 2 (or
binary). a + b is the same as add(a, b), a + b + c is the same as
add(add(a, b), c).
I don't know if remarks like
Amusingly, functions may even return functions. We shall see what
this means in a short while.
assume a background that's compatible with your use of the lambda
symbol on that page with no explanation.
The expression arg1 % 2 == 1 evaluates to a lambda function. arg1
represents an unsupplied argument.
I would say
arg1 is a placeholder for an argument to be supplied later
or if you need a short term for such a thing,
arg1 is lazy argument---a placeholder for an argument to be
supplied later
However, in this document and in the examples and tests provided,
don't be surprised to see the first and second steps
juxtaposed.
^
in order to illustrate the complete semantics of Phoenix
expressions
-- Dave Abrahams Boost Consulting www.boost-consulting.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk