From: Gabriel Dos Reis (gdr_at_[hidden])
Date: 2003-11-23 00:30:32
Brian McNamara <lorgon_at_[hidden]> writes:
| On Fri, Nov 14, 2003 at 08:15:03AM -0800, Mat Marcus wrote:
| > Named conformance worries me, though I haven't programmed much in
| > Haskell yet. One question I have is: who writes the type classes (or
| > whatever you want to call these things)? I can't imagine it is the
| > library author since the generic (meta-)algorithms are meant to be
| > used with an unbounded set of types(, metafunctions, etc.). But a
| The library author writes them. Current library authors already "define
| the concepts";
This is not clear. Library authors are not the only concept producers
and application programmers are not the only concept users. In fact,
both are producers and consumers of concepts.
| The pre-existence of structural conformance as the C++ norm for concept
| checking creates a psychological barrier to the acceptance of named
I have seen some misleading statements in this thread and I believe
this is one of them.
If you look at the C++ type system, you'll realize that it is mainly
based on named conformance -- a consentious decision to break from C's
structural conformance. And C++ programmers are well used to that
notion. The issue here is whether the same kind of approach to check
dynamic (run-time) behaviour checking should be re-usedfor
compile-time behaivour. I don't think the answer is clear clear.
One has to take into acocunt many factors that are not all present in
the "dynamic" behaviour situation.
But, most certainly the statement you made above is misleading and
| In my experience, trying to convince C++ template programmers that named
| conformance is good for them is like trying to convince LISP programmers
| that static typing is good for them. :) In the end, few people can see
| "both sides", and you end up with two separate camps who can't co-exist
| well within the confines of one arena/language/something.
Sure, but then you also have to question yourself as to whether your
characterizations and arguments are helpful.
It is far from obvious that there is One True Answer.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk