On Wed, Jul 2, 2014 at 6:17 PM, Matt Oliveri <[email protected]> wrote:

> You don't know all the types at compile time with polymorphism either,
> if I understand what you mean. So I don't think that's the issue.
>

Actually, you do. Perhaps not at unit-of-compilation compile time, but
certainly at link time. This is *not* true in a fully dependent type system.

And just incidentally, the original BitC implementation provides a proof by
example. We implement parametricity by polyinstantiation. Works just fine.
There's further work we need to do to recover sane code size from that, but
we know how to do it.

If you have unboxed types and parametricity/genericity in the same
language, you're pretty much forced to polyinstantiation. You can make the
instantiation happen pretty late and on-demand, but you're definitely going
to do it before any code at a given concrete resolution of a type scheme
actually gets to execute.


shap
_______________________________________________
bitc-dev mailing list
[email protected]
http://www.coyotos.org/mailman/listinfo/bitc-dev

Reply via email to