BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Talks.cam//talks.cam.ac.uk//
X-WR-CALNAME:Talks.cam
BEGIN:VEVENT
SUMMARY:The Whiley Programming Language: Design &amp\; Implementation - Da
 vid Pearce\, Victoria University of Wellington\, New Zealand
DTSTART:20120907T141500Z
DTEND:20120907T151500Z
UID:TALK39159@talks.cam.ac.uk
CONTACT:Dominic Orchard
DESCRIPTION:Whiley is a new programming language being developed at Victor
 ia University of Wellington\, New Zealand (see whiley.org).  Whiley is des
 igned specifically to simplify program verification.  This goal has\nconst
 rained the language in many ways\, some of which will be expected whilst o
 thers are less apparent.  The language includes first-class pre- and post-
 conditions\, and the ultimate aim is to check them at compile\ntime.   Suc
 h constraints must be pure and may range over first-class data-types (sets
 \, lists\, etc) with value semantics\, and also functions that are explici
 tly declared pure.  To simplify verification\, arithmetic\noperates over u
 nbounded integers and rationals.  For flexibility\, a flow-sensitive type 
 system with structural subtyping is employed.\n\nDespite being a primarily
  functional language\, Whiley retains a distinctly imperative syntax with 
 the look and feel of a dynamic language (i.e. Python).  Whiley currently c
 ompiles to the JVM and is fully inter-operable with Java.  Many challenges
  exist in compiling\nWhiley programs to the JVM for efficient execution.  
 Furthermore\, other compilation targets (e.g. JavaScript) are planned for 
 the future.  In this talk\, I will introduce Whiley and discuss some of th
 e main challenges involved.\n\n*About the Presenter*\n\nDavid graduated fr
 om Imperial College London in 2005\, and took up a lecturer position at Vi
 ctoria University of Wellington\, NZ. David's thesis was on efficient algo
 rithms for pointer analysis of C\, and his techniques have since been inco
 rporated into GCC. His interests are in programming languages\, compilers 
 and static analysis.  Since 2009\, he has been developing the Whiley Progr
 amming Language (whiley.org) which is designed specifically to simplify pr
 ogram verification. David has previously interned at Bell Labs\, New Jerse
 y\, where he worked on compilers for FPGAs\; and also at IBM Hursely\, UK\
 , where he worked with the AspectJ development team on profiling systems.
LOCATION:SS03\, Computer Laboratory
END:VEVENT
END:VCALENDAR
