* grammar for class types
@ 1999-05-14 16:59 Hendrik Tews
0 siblings, 0 replies; only message in thread
From: Hendrik Tews @ 1999-05-14 16:59 UTC (permalink / raw)
To: caml-list
Hi,
when I tried to define some classes and class types I came across
the following questions:
1. What is the difference between
# class type b = [int, string] a;;
and
# type c = (int, string) a;;
assuming some class type a with two type parameters?
And Why do I have to use different parentheses in both cases?
(Yes, I know, it's what the manual says, but I would expect that
one kind of parentheses should be enough for all kind of type
parameters. )
2. Why is it not possible to add type constraints to the first
kind of type abbreviation, like in
class type ['a] c = ['a, string] a constraint 'a = int;;
3. (To re-raise a question from John Prevost which has never been
addressed:) Why is it not possible to mix type definitions and
class type definitions like in
# class type a = object method m : a end
# and
# type b = Node of a | Tree of b * b
(Yes, it is possible to use the < ... > notation, but it is not
possible to use # with such types.)
Bye,
Hendrik
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~1999-05-15 14:17 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-05-14 16:59 grammar for class types Hendrik Tews
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox