Boost logo

Boost :

Subject: Re: [boost] [guidelines] why template errors suck
From: Robert Ramey (ramey_at_[hidden])
Date: 2010-09-28 14:17:39


joaquin_at_[hidden] wrote:
> Robert Ramey escribió:
>> David Abrahams wrote:
>>> recall a conversation on this list where someone (named Sebastian?)
>>> successfully, and impressively, described a semantic relationship
>>> required between the load/save operations of a read/write archive
>>> pair.
>>>
>>
>> After many years, that little episode sticks in my mind. I think it
>> was Joaquin though. Actually it was the very episode that
>> convinced me that the quest for some sort of semantic formality
>> was destined to be a dead end which ultimate relied on
>> some sort of shared intuitive understanding of what a sentence
>> means. So I concluded one would just as well avoid the attempt
>> with no real loss.
>>
>
> For our readers' reference, the original proposal is:
>
> http://lists.boost.org/Archives/boost/2005/09/93367.php
>
> I still think that the approach suggested there is basically sound
> (some details are
> missing) and solves all the fuziness around serialization concepts,
> but alas I didn't manage to get traction with it.

Well it wasn't a total loss. I was very intrigued with it. And i did
consider it carefully. I didn't critique it in a definitive way as I
thought
that it would a spawn a long discussion which would consume a
lot of time and wouldn't change anything. Of course I had some
other monkey on my back so I wanted to pick my target and I
decided (out of character perhaps) to let this one go by.

And I didn't see that this was a question regarding the serialization
library per se, but rather the whole question of the relationship between
programming language (or any algebraic) syntax and underlying meaning.
These questions have been extensively studied and I believe effectively
put to rest in a way which supports my view that what we can hope
for from semantics is limited by factors outside outside our perview.

So, I tended to regard your proposal as like a design for a very
clever perpetual motion machine which I know cannot work, but
cannot refute the very clever and intricate explanation of it's inventor
without a lot of investment of effort.

Of course this is waaaayyyyy off topic for this list, but it's one of
the things I love most about it.(this list)

In any case, I am still VERY interested in seeing what the C++
implemenation of concepts can do for me. If it can

a) check template parameters end emit a compile error
b) with the rules specified with a simple and natural grammar
c) without brinig the compiler to halt
d) and is portable or can be suppressed for non-conformant compilers
e) has documentation which is helpful

That's all it needs. The fact that this thread even exists suggests to me
that the above doesn't currently exist. Then there's the fact that I spent
some time looking at the documentation and had problems. Admitidly,
part of this is due to the fact that my area of application (the
serialization
library) has some poorly or incorrectly defined areas. But this actually
shows that the need for such a system is even greater. One should have
as system which is used from the beginning - like the type parameters
on function arguments.

Of course I realize I'm preachng to the preacher here. But the fact that
a serious person of some level of competence tries to use the system
and finds it hard should be seen as a bug at some level. And that's not
happening.

Robert Ramey


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk