Boost logo

Boost :

Subject: Re: [boost] [local] Simplifying the parenthesized syntax
From: Vicente Botet (vicente.botet_at_[hidden])
Date: 2011-02-07 17:53:41

Lorenzo Caminiti wrote:
> On Mon, Feb 7, 2011 at 12:37 PM, Vicente Botet <vicente.botet_at_[hidden]>
> wrote:
>> Lorenzo Caminiti wrote:
>> Lorenzo I understand your concern and that you need the general syntax
>> for
>> Boost.Contract. Whether this general syntax is adapted to Boost.Local
>> also
>> is what you are trying to analyze in this post.
> I do think that Boost.Local should seek, at least in principle, the
> best syntax for local functions regardless of other libraries
> (Boost.Contract included). However, if a more general syntax could be
> adopted that would unify Boost.Local with the syntax of all other
> libraries that spoil function declaration at the cost of a few extra
> parenthesis, I think it would be a trade off to take into
> consideration. Also the only two Boosters that have actually used the
> parenthesized syntax so far (myself and Greg) said "the syntax was
> strange at first but I got used to it quickly" (Greg, please comment
> if that's not what you meant) -- I think that's important feedback to
> take into consideration and I would be interested to hear what others
> have to say after using the parenthesized syntax for a few days.

The fact that not too many people has tried it is a symptom that people
don't like it too much.

> Anyway, for now I am going back to the drawing board to seek the best
> syntax (including C99 features) for Boost.Local so after that we can
> compare it with the more general parenthesized syntax and decide
> together :)

I don't think we will need to decide between them. Maybe you can provide two
alternative syntax: one general that allows to declare functions with
contracts, concepts, named parameters, local functions ... and more
restrictive that can be used just to define simple local functions without
adornments. I really think with this approach your library will have much
more chances to be accepted and once your library accepted people would have
the possibility to choose between both alternatives.

> I know you guys think I'm crazy ;)

I need to recognize that I will never tried it, but only crazy people
explores crazy domains showing that there is no limits to the innovation
(The first exception library was done using macros and now we have them on
the language)

Thanks for the hard work you are doing,

View this message in context:
Sent from the Boost - Dev mailing list archive at

Boost list run by bdawes at, gregod at, cpdaniel at, john at