Browse thread
grammar for class types, reraised
- Hendrik Tews
[
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: | -- (:) |
| From: | Hendrik Tews <tews@t...> |
| Subject: | grammar for class types, reraised |
Hi, on May 14th I sent the appended message to the ocaml mailing list. Unfortunately I haven't seen any answer so far. Could one of the developers please answer these questions (or give some pointers)? 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