Swaroop Sridhar wrote:
[**]Now I have another issue. Because of the way BitC does import, if some body imports the module :

 >>(module list
 >>
 >>    (defunion (lst 'a) Nil (Cons 'a))
 >>    (append ...)
 >>
 >>    (define alst Nil)
 >>
 >>    (export    alst) )

TWICE, as in

ex:
(import l1 list)
(import l2 list)

This will create
l1::alst : l1::t and
l2::alst : l2::t

One possibility is to make l1::t an l2::t compatible. Other possibility is to keep them different, and now, the situation is very interesting because I have one value alst with 2 alias names and 2 incompatible but equally powerful types.


I think one possibility is that the rule should be:
They are the same type if exported transparently (this will allow them to unify as intended), and different if exported opaquely.
_______________________________________________
bitc-dev mailing list
[email protected]
http://www.coyotos.org/mailman/listinfo/bitc-dev

Reply via email to