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

Reply via email to