
On Fri, Nov 18, 2011 at 4:44 AM, Lorenzo Caminiti <lorcaminiti@gmail.com> wrote:
On Wed, Nov 16, 2011 at 10:24 AM, Lorenzo Caminiti <lorcaminiti@gmail.com> wrote:
On Wed, Nov 16, 2011 at 9:34 AM, Andrzej Krzemienski <akrzemi1@gmail.com> wrote:
How about Boost.Closure library? "Local" may not even be necessary, because "closure" somehow implies locality. (you do not need a global closure, because global function will do).
Yes, I was thinking about it after you suggest it yesterday. I'd say the options become:
After studying in details a few references: http://en.wikipedia.org/wiki/Closure_(computer_science) http://en.wikipedia.org/wiki/Anonymous_function http://en.wikipedia.org/wiki/Funarg_problem N2550, N3242
I concluded that, if there are no objects, I would like to rename my library Boost.Closure as suggested by Andrzej:
Boost.Closure BOOST_CLOSURE, BOOST_CLOSURE_END (for local functions with their bound variables) BOOST_CLOSURE_SCOPE_EXIT, BOOST_CLOSURE_SCOPE_EXIT_END BOOST_CLOSURE_BLOCK, BOOST_CLOSURE_BLOCK_END
If local exits are removed (because void and this_ binding (but not const bindings) are added to Boost.ScopeExit) and localblocks are removed (because not everyone sees them as useful and because they can be trivially implemented using a local function that is called right after being defined), then Boost.Local can be renamed simply to Boost.LocalFunction (as suggested in some other thread). That would make sense to me. --Lorenzo