Fri 30 Oct 2015 14:15 - 14:37 at Grand Station 1 - 11. Programming Language Design Chair(s): Gary T. Leavens

Object-constraint programming systems integrate declarative constraint solving with imperative, object-oriented languages, seamlessly providing the power of both paradigms. However, experience with object-constraint systems has shown that giving too much power to the constraint solver opens up the potential for solutions that are surprising and unintended as well as for complex interactions between constraints and imperative code. On the other hand, systems that overly limit the power of the solver, for example by disallowing constraints involving mutable objects, object identity, or polymorphic message sends, run the risk of excluding the core object-oriented features of the language from the constraint part, and consequently not being able to express declaratively a large set of interesting problem solutions. In this paper we present design principles that tame the power of the constraint solver in object-constraint languages to avoid difficult corner cases and surprising solutions while retaining the key features of the approach, including constraints over mutable objects, constraints involving object identity, and constraints on the results of message sends. We present our solution concretely in the context of the Babelsberg object-constraint language framework, providing both an informal description of the resulting language and a formal semantics for a core subset of it. We validate the utility of this semantics with an executable version that allows us to run test programs and to verify that they provide the same results as existing implementations of Babelsberg in JavaScript, Ruby, and Smalltalk.

Fri 30 Oct

Displayed time zone: Eastern Time (US & Canada) change

13:30 - 15:00
11. Programming Language DesignOOPSLA at Grand Station 1
Chair(s): Gary T. Leavens University of Central Florida
13:30
22m
Talk
Remote-Scope Promotion: Clarified, Rectified, and VerifiedOOPSLA Artifact
OOPSLA
John Wickerson Imperial College London, Mark Batty University of Cambridge, Bradford M. Beckmann Advanced Micro Devices, Inc, Alastair F. Donaldson Imperial College London
DOI Media Attached
13:52
22m
Talk
Incremental Computation with NamesOOPSLA Artifact
OOPSLA
Matthew Hammer University of Maryland, College Park, Jana Dunfield University of British Columbia, Canada, Kyle Headley University of Maryland, College Park, Nicholas Labich University of Maryland at College Park, USA, Jeffrey S. Foster University of Maryland at College Park, USA, Michael Hicks University of Maryland at College Park, USA, David Van Horn University of Maryland at College Park, USA
DOI
14:15
22m
Talk
Checks and Balances: Constraint Solving without Surprises in Object-Constraint Programming LanguagesOOPSLA Artifact
OOPSLA
Tim Felgentreff HPI, Germany, Todd Millstein University of California at Los Angeles, USA, Alan Borning University of Washington, USA, Robert Hirschfeld HPI
DOI
14:37
22m
Talk
Optimizing Hash-Array Mapped Tries for Fast and Lean Immutable JVM CollectionsOOPSLA Artifact
OOPSLA
Michael Steindorfer CWI, Netherlands, Jurgen Vinju CWI, Netherlands
Link to publication