The pretty printer in mixer/print.mc currently cannot handle the case where an external shadows an intrinsic. For example, if we have an intrinsic foo and try to pretty print a program
type Foo
external foo : Foo
mexpr ()
it will pretty print to
type Foo
external foo1 : Foo
mexpr ()
which breaks the mapping to the external implementation of foo.
We can either forbid this kind of shadowing or update the pretty printer so that external foo : Foo actually shadows the intrinsic foo.
The pretty printer in
mixer/print.mc
currently cannot handle the case where an external shadows an intrinsic. For example, if we have an intrinsicfoo
and try to pretty print a programit will pretty print to
which breaks the mapping to the external implementation of
foo
.We can either forbid this kind of shadowing or update the pretty printer so that
external foo : Foo
actually shadows the intrinsicfoo
.