BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Talks.cam//talks.cam.ac.uk//
X-WR-CALNAME:Talks.cam
BEGIN:VEVENT
SUMMARY:Solving an existential crisis in Haskell - Michael Gale (Universit
 y of Cambridge)
DTSTART:20140404T130000Z
DTEND:20140404T140000Z
UID:TALK51769@talks.cam.ac.uk
CONTACT:Raphael Proust
DESCRIPTION:Haskell's type system provides mechanisms for type refinement\
 nwithin the scope of certain value expressions if GADTs or type classes\na
 re used. The type system propagates sufficient information to ensure\nthat
  nothing can go wrong even if types are erased from the run-time\nrepresen
 tation of a program. This is not the case when we are using\nexistential t
 ypes\, where we deliberately hide concrete types from the\ntype system. Ne
 vertheless\, we may desire to eliminate existential types\nin a different 
 part of a program in order to restore the original\ntypes.\n\nFor this pur
 pose\, we propose an extension to Haskell which allows\nprogrammers to res
 trict existential types within individual data\nconstructors to finite\, b
 ut open\, domains of types. Each type in such a\ndomain must be associated
  with a value tag that is then stored at run\ntime to allow it to serve as
  witness in a case expression.
LOCATION:SS03
END:VEVENT
END:VCALENDAR
