Boost logo

Boost :

Subject: Re: [boost] [contract] syntax redesign
From: Dave Abrahams (dave_at_[hidden])
Date: 2011-09-02 15:14:10

on Fri Sep 02 2011, Lorenzo Caminiti <> wrote:

> For whomever is curious, I have implemented the new Boost.Contract
> syntax. Here's large number of examples that now compile with the new
> syntax:

Wow. This is a powerful new language! How does this relate to the work
Matt Calabrese started on implementing concepts in C++11 (see the
boostcon video)?

It looks like this can't possibly be quite right (can it?)

Don't you need a comma after "boost::InputIterator<Iter>"?

> Highlights are:
> * Side-by-side comparison with N1962 (contracts) and N2081 (concepts) syntax:
>* I have also added C++0x-like virtual specifiers (final, override,
> and new) to Boost.Contract:
>* Side-by-side comparison with Eiffel syntax:
> Comments are always welcome :)

* Very impressive! I might even try programming in this language.
* How's debuggability (sorry for asking)?
* What's a "loop variant?" I've heard of "loop invariants."

> (I still have to implement named parameter support (using
> Boost.Parameter behind the scene) but that shouldn't be too hard. The
> macros already parse the named parameter syntax using in/out/inout
> "keywords".)

I can't wait.

Dave Abrahams
BoostPro Computing

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