BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Talks.cam//talks.cam.ac.uk//
X-WR-CALNAME:Talks.cam
BEGIN:VEVENT
SUMMARY:Cake: a language for adapting and linking mismatched binary compon
 ents - Stephen Kell (Computer Lab)
DTSTART:20090501T141500Z
DTEND:20090501T151500Z
UID:TALK18025@talks.cam.ac.uk
CONTACT:Dominic Orchard
DESCRIPTION:Conventional programming languages provide a notion of partial
  program\n(such as compilation unit\, module\, class\, etc.) where\, invar
 iably\, each\npartial program implicitly assumes that its linkage environm
 ent is\nplug-compatible and homogeneous. In practice\, developers often wa
 nt to\nrelax these assumptions: to enable decentralised development or\nun
 anticipated re-use\, we must deal with plug-incompatible interfaces\,\nwhi
 le to choose the most appropriate languages and libraries for\nbuilding ea
 ch part of a large system\, we must tolerate heterogeneity.\nWith current 
 tools and languages\, achieving these is at best inefficient\nand at worst
  impractical.\n\nCake is a special-purpose linking language which compleme
 nts\nconventional programming languages. It describes compositions of\nmis
 matched\, possibly heterogeneous binary components. Rather than\ndefining 
 programmatic objects\, such as functions or values\, Cake\ndescribes corre
 spondences (or relations) between such objects as found\nin preexisting co
 mponents\, and from these the Cake compiler generates\nadaptation logic. C
 omponents may be any relocatable object code\, and\nCake's descriptive mod
 el is based on the DWARF debugging standard. Work\nis still at the impleme
 ntation stage\; I'll talk about the language\ndesign\, motivating case-stu
 dies and one or two interesting\nimplementation issues. Time permitting\, 
 I'll describe plans for\nevaluation and future work\, and will of course s
 olicit copious feedback.
LOCATION:GS15\, Computer Laboratory
END:VEVENT
END:VCALENDAR
