More suitable data structure needed

Christian Sievers sievers@math2.nat.tu-bs.de
Fri, 23 Aug 2002 16:52:22 +0200


Dr Mark H Phillips wrote:

>   Imagine
> you used the '*' symbol to mean "recursively refer to yourself", then
> you could write
>          [(a, (Bool, *))]

Others already discussed the semantic implications.
I just want to add that the syntax is also not ideal, because it is not closed
under type forming.  For example, how do you write the type of lists of such
items?  In [[(a, (Bool, *))]], * will refer recursively to the outer list.
You'll need something like [*=[(a, (Bool, *))]], and possibly more than one
name in mutually recursive types.  It's propably best to use the style John
Hughes used in his example, like this: [b] where b=[(a, (Bool, *))].


All the best
Christian Sievers