On 8 Apr 2008, at 15:26, PR Stanley wrote:
I'm sure you could introduce change gradually without too much pain.

So then you only have to get the compilers to gradually understand it :-).

I personally think "deriving" is a descriptive term, now that I understand its role better.

There are two processes here: deriving, i.e., inheriting an interface; and instantiating, i.e., producing running code. Haskell denotes derivation by "=>". And "data <a> deriving (b_1, ..., b_k)" is really a short for
  data <a>
  instance b_1 where <compiler implementation>
  ...
  instance b_k where <compiler implementation>

So "instance" seems the word that should have been used.

But discussions of a change seems is likely just a café thing - I must go finishing mine :-).

I suppose you could consider "specialize" or "instanciate" but both those terms are very closely associated with OO and deriving an instance of a class with a type isn't quite like instantiation or even specialisation.

So then you introduce a new keyword and screwing up all existing code.

We want a single word which is equivalent to "derives from". Deriving by itself can seem a bit ambiguous at first.

What about the already used "=>"?

  Hans


_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to