From: Joel de Guzman (djowel_at_[hidden])
Date: 2003-09-02 01:02:39
Brian McNamara <lorgon_at_[hidden]> wrote:
> It's been pointed out before, but to re-emphasize it: from a
> type-theoretic standpoint, it is not the case that optional<T>-isa-T.
> Rather T-isa-optional<T>. (Dog-isa-Animal because Animal has more
> possible values.) I don't mind the suggestive conceptual
> analogy/similarity, but when you get down to technicalities, the "isa"
> relationship doesn't hold in the same direction you're saying (in your
> first sentence above).
You are right of course! I stand corrected. In any case, it is still wrong.
As Mat pointed out, it's the Rectangle/Square relationship once again.
But I digress....
> As a final aside, I think much of this thread is degenerating into
> Parkinson's Bicycle Shed[*], with respect to "is it a
> pointer/container/X?" At this point, I think we know what set of
> methods should be in the interface (indeed, there could be methods both
> to return pointers and references; both to throw/fail-undefinedly, etc.)
> and the names/documentation issues will fall out with more experience.
> Just MO.
I thought I made it perfectly clear that, although I disagree, I fully respect
whatever preference Fernando has on the matter.
-- Joel de Guzman http://www.boost-consulting.com http://spirit.sf.net