Solving an existential crisis in Haskell
Add to your list(s)
Download to your calendar using vCal
If you have a question about this talk, please contact Raphael Proust.
Haskell’s type system provides mechanisms for type refinement
within the scope of certain value expressions if GAD Ts or type classes
are used. The type system propagates sufficient information to ensure
that nothing can go wrong even if types are erased from the run-time
representation of a program. This is not the case when we are using
existential types, where we deliberately hide concrete types from the
type system. Nevertheless, we may desire to eliminate existential types
in a different part of a program in order to restore the original
types.
For this purpose, we propose an extension to Haskell which allows
programmers to restrict existential types within individual data
constructors to finite, but open, domains of types. Each type in such a
domain must be associated with a value tag that is then stored at run
time to allow it to serve as witness in a case expression.
This talk is part of the Computer Laboratory Programming Research Group Seminar series.
This talk is included in these lists:
Note that ex-directory lists are not shown.
|