
Lorenzo Caminiti wrote:
On Mon, Feb 7, 2011 at 12:37 PM, Vicente Botet <vicente.botet@wanadoo.fr> 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, Vicente -- View this message in context: http://boost.2283326.n4.nabble.com/local-Simplifying-the-parenthesized-synta... Sent from the Boost - Dev mailing list archive at Nabble.com.