On 25 Feb 2015 17:27, "Sandro Magi" <[email protected]> wrote: > > On 25/02/2015 12:00 PM, Jonathan S. Shapiro wrote: >> >> The most obvious problem is that make-closure is an allocating operation, and we need to be able to use existential encapsulation in some places where allocation is not permitted. > > > Two solutions seem viable: > > 1. HList-style heterogenous collections.
As type indexed types, these don't really solve the runtime polymorphism problem. There is a variant that you can project into Maybe X types, but you have to test each possible type, so its slow. For me HList is best when you can statically determine types. > 2. Unboxed union types. Picking a union member is slower than a vTable, so existential types win for me. Also unions introduce intersection types that do nasty things to unification. Keean.
_______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
