BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Talks.cam//talks.cam.ac.uk//
X-WR-CALNAME:Talks.cam
BEGIN:VEVENT
SUMMARY:Programming languages for humans - Dr Jeremy Yallop - Department o
 f Computer Science and Technology\, University of Cambridge
DTSTART:20210505T140000Z
DTEND:20210505T150000Z
UID:TALK156913@talks.cam.ac.uk
CONTACT:Ben Karniely
DESCRIPTION:The history of programming languages is a history of increasin
 g automation.  Tasks such as invariant checking\, optimisation and memory 
 management were once the responsibility of programmers\, but many language
  implementations now handle them automatically.  This increased convenienc
 e has not come for free: in handing over responsibility to compilers\, pro
 grammers have also given up control. Writing efficient programs or program
 s that pass type-checking is often now a matter of writing programs that c
 onform to a compiler's limited view of the world.  This is unfortunate\, s
 ince programmers often have useful information to share with compilers\, b
 ut no way of communicating it. \n\nI'll describe a few strands of work on 
 more extensible languages\, in which programmers can use the properties th
 ey have proved about their programs to extend the compiler's general purpo
 se algorithms.  Most programming languages force programmers to adapt thei
 r reasoning to the compiler's low-level worldview.  Language extensibility
  offers a way out of these constraints\, extending the compiler's worldvie
 w for each domain and so allowing programmers to work at a higher level wi
 thout any loss of convenience or efficiency. \n\n\nLink to join: https://c
 l-cam-ac-uk.zoom.us/j/91253900399?pwd=SU5TNnpYdDlQbzQ4SEVPVWVWa0Nldz09
LOCATION:Online
END:VEVENT
END:VCALENDAR
