23 Aug
2002
23 Aug
'02
2:52 p.m.
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