BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//talks.cam.ac.uk//v3//EN
BEGIN:VTIMEZONE
TZID:Europe/London
BEGIN:DAYLIGHT
TZOFFSETFROM:+0000
TZOFFSETTO:+0100
TZNAME:BST
DTSTART:19700329T010000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0100
TZOFFSETTO:+0000
TZNAME:GMT
DTSTART:19701025T020000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
CATEGORIES:Computer Laboratory Programming Research Group Sem
 inar
SUMMARY:Solving an existential crisis in Haskell - Michael
  Gale (University of Cambridge)
DTSTART;TZID=Europe/London:20140404T140000
DTEND;TZID=Europe/London:20140404T150000
UID:TALK51769AThttp://talks.cam.ac.uk
URL:http://talks.cam.ac.uk/talk/index/51769
DESCRIPTION:Haskell's type system provides mechanisms for type
  refinement\nwithin the scope of certain value exp
 ressions if GADTs or type classes\nare used. The t
 ype system propagates sufficient information to en
 sure\nthat nothing can go wrong even if types are 
 erased from the run-time\nrepresentation of a prog
 ram. This is not the case when we are using\nexist
 ential types\, where we deliberately hide concrete
  types from the\ntype system. Nevertheless\, we ma
 y desire to eliminate existential types\nin a diff
 erent part of a program in order to restore the or
 iginal\ntypes.\n\nFor this purpose\, we propose an
  extension to Haskell which allows\nprogrammers to
  restrict existential types within individual data
 \nconstructors to finite\, but open\, domains of t
 ypes. Each type in such a\ndomain must be associat
 ed with a value tag that is then stored at run\nti
 me to allow it to serve as witness in a case expre
 ssion.
LOCATION:SS03
CONTACT:Raphael Proust
END:VEVENT
END:VCALENDAR
