Browse thread
Same label in different types, how do people solve this?
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: | 2000-12-11 (19:23) |
From: | Pierre Weis <Pierre.Weis@i...> |
Subject: | Re: Same label in different types, how do people solve this? |
> >I understand that all you functional experts thinks this restriction is > >obvious, but for me it is more like a bug/misfeature. So this 'misfeature' > >should actually be stated for all us who aren't interested how types are > >infered in functional programming. > > I'm with Mattias on this one. I'm practical above theoretical. All >of the workarounds for this problem seem like they generate way more >tedious work for the programmer, and they still don't quite accomplish >the goal 100%. This characteristic of doing more work and only >asymptotically approaching your goal is a bad taste I associate with >C++. > Anyway, my "vote" would be to allow specification, with : if it's > possible since it's the obvious syntax, but even with @@ if > necessary (even though I think it's really ugly). > > Chris I tried a lot of more attractive alternative: -- type::label but :: is already used for lists (consing). -- type@label, but @ also used (append). -- type`label, but the symbol ` introduces variant -- type'label (as in Ada), but ' is used in identifier and chars and ... Another available notation could be type.:label, or type.'label ... Cheers, PS: I added something in the FAQ about the problem of overloading of labels, see one of (or both :) http://pauillac.inria.fr/caml/FAQ/FAQ_EXPERT-fra.html http://pauillac.inria.fr/caml/FAQ/FAQ_EXPERT-eng.html Pierre Weis INRIA, Projet Cristal, Pierre.Weis@inria.fr, http://cristal.inria.fr/~weis/