Onward! 2015
Sun 25 - Fri 30 October 2015 Pittsburgh, Pennsylvania, United States
co-located with SPLASH 2015
Wed 28 Oct 2015 14:15 - 14:37 at Grand Station 2 - Session the First Chair(s): Stéphane Ducasse

Imperative programming has great merits. As the ubiquitous style, it is familiar and its linear, step by step nature is favored by the human mind. Expert programmers, however, are aware of its major flaw: it is easy for meanings to get lost in piles of code, making software hard to understand, extend, and debug. Constraint-based programming as an alternative has been observed to suffer much less from these flaws, where the “what” (the intention) is expressed rather than the “how” (the algorithm) in performing a computation. It is the job of the system to automatically achieve the intention through constraint solving. Sadly, poor performance and expressiveness has prevented this style from seeing widespread adoption.

We propose a general programming model as a kind of a sweet spot between imperative and constraint-based programming. Our aim is to leverage many benefits of constraint-based programming such as understandability, behavioral modularity, extensibility, etc., in a practical way and without suffering the breakdown of the approach as with the traditional constraint-based paradigm. This model enforces a certain organization where at the top-level a program is simply composed of a set of constraints. However, the constraints aren’t necessarily solved by an external entity, and the programmer uses imperative code to specify (1) how each constraint should be solved in isolation, and (2) how to combine individual solutions.

We have implemented a tool called \tool that incorporates this model in JavaScript, and built a number of realistic applications in it. In this paper we demonstrate the merits of our approach by comparing it with traditional imperative as well as constraint-based approaches.

Wed 28 Oct
Times are displayed in time zone: (GMT-04:00) Eastern Time (US & Canada) change

13:30 - 15:00: Onward! Papers - Session the First at Grand Station 2
Chair(s): Stéphane DucasseINRIA, France
onward2015-papers13:30 - 13:52
Steven ArztTU Darmstadt, Sarah NadiTechnische Universität Darmstadt, Karim AliTU Darmstadt, Sebastian ErdwegTU Darmstadt, Germany, Eric BoddenFraunhofer SIT and TU Darmstadt, Mira MeziniTU Darmstadt
Link to publication DOI Media Attached
onward2015-papers13:52 - 14:15
Jürgen CitoUniversity of Zurich, Philipp LeitnerUniversity of Zurich, Harald GallUniversity of Zurich, Aryan DadashiSAP, Anne KellerSAP, Andreas RothSAP
Pre-print Media Attached
onward2015-papers14:15 - 14:37
Hesam SamimiSAP Labs, Alessandro WarthSAP Labs, Mahdi EslamimehrSAP Labs, Alan BorningUniversity of Washington, USA
onward2015-papers14:37 - 15:00
Andrei ChişUniversity of Bern, Switzerland, Tudor Gîrbatudorgirba.com, Switzerland, Oscar NierstraszUniversity of Bern, Switzerland, Aliaksei SyrelUniversity of Bern, Switzerland
DOI Pre-print Media Attached