BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Talks.cam//talks.cam.ac.uk//
X-WR-CALNAME:Talks.cam
BEGIN:VEVENT
SUMMARY:Towards Algebra-Oriented Programming - Bruno Oliveira\, National U
 niversity of Singapore
DTSTART:20130402T090000Z
DTEND:20130402T100000Z
UID:TALK44123@talks.cam.ac.uk
CONTACT:Microsoft Research Cambridge Talks Admins
DESCRIPTION:Programs can be modularly decomposed in several dimensions. Ho
 wever\, it has long been noted that existing programming languages typical
 ly suffer from ``the tyranny of the dominant decomposition''\, only suppor
 ting decomposition of programs well in one dimension. Bad support for othe
 r dimensions leads to crosscutting concerns: code that logically represent
 s some separate\, modular functionality of the program\, but which is not 
 easily modularized. The main problem lies in existing programming language
  structuring abstractions\, such as algebraic/inductive datatypes in funct
 ional languages or object interfaces \nin object-oriented languages\, whic
 h dictate the particular flavor of modularity supported by the language.\n
 \nThis talk suggests a form of algebraic signatures\, which we generally r
 efer to as algebras\, as an alternative programming language structuring a
 bstraction. Algebras do not dictate a particular modularity dimension on t
 he programmer. Instead they support various composition operators which al
 low them to cater for several dimensions of modularity at once. Algebras h
 ave desirable properties of a programming abstraction: they support modula
 r type-checking\, separate-compilation and modular reasoning/proofs. I wil
 l show how algebras can already be encoded in existing programming languag
 es and theorem provers\, and how they can help dealing with several practi
 cal problems: from modularizing DSL components\, to modularizing inductive
  proofs and meta-theory of programming languages.  I'll finish the talk by
  discussing some of the remaining challenges on creating truly algebra-ori
 ented programming languages.\n
LOCATION:Auditorium\, Microsoft Research Ltd\, 21 Station Road\, Cambridge
 \, CB1 2FB
END:VEVENT
END:VCALENDAR
