From: Gabriel Dos Reis (gdr_at_[hidden])
Date: 2003-11-23 00:47:41
Mat Marcus <mat-boost_at_[hidden]> writes:
| >> > - "Clonable and Foo were developed separately"
| >> >
| >> > Suppose they come from two different vendor libraries, and today
| >> > you decide to use those two libraries together. You, the client
| >> > of these libraries, will have to write the instance declaration.
| >> > In the implementation you may have to "smooth over" the
| >> > interface: we can imagine that perhaps Foo natively provides a
| >> > "duplicate" method, so you have to write
| >> > instance Clonable Foo where
| >> > clone aFoo = aFoo.duplicate() // using C++ syntax to
| >> > illustrate idea
| >> >
| >> > Etc. There are probably other scenarios, too.
| >> Yes, I've also been wanting this in C++. The ability to
| >> rename/remap operations to allow achieve conformance seems highly
| >> desirable. But
| > Well, you can already do this in C++ (using the age-old "any problem
| > in computer science can be solved by adding an extra layer of
| > indirection").
| Let me restate. I've been wanting something like this as part of a
| proposed C++ concept mechanism for C++ '0x. The current papers don't
| yet appear to provide for a remapping facility.
I'm pretty sure we listed "rewriting" as an explicit design criteria.
(At least, I do distinctly recall Bjarne and I discussed it on blackboard)
That criteria might not be high in the priority list but it is there.
Boost list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk