Actually its kind of tempting to do:
type tlist = Empty | Cons of t * tlist | Var of int
type t =
| BTYP_tuple of tlist
| BTYP_sum of tlist | ...
| BTYP_var of int
...
This introduces a type list variable (which is NOT a type variable).
However when one is spotted we'd convert it to a type variable.
Basically:
tail (BTYP_tuple (Cons (h,t)) -> BTYP_tuple t
(BTYP_tuple (Var i)) -> BTYP_var i
--
john skaller
[email protected]
http://felix-lang.org
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Felix-language mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/felix-language