Context-Oriented programming languages provide us with primitive constructs to adapt programs behaviour depending on the evolution of their operational environment. In this paradigm developers must provide behaviour for any context a program may find in. A missing behaviour causes a new kind of runtime error: an adaptation error. We propose a novel mechanism, based on implicit function, that allows the execution environment to supply such behaviour when the program is not able to adapt. We assess our proposal extending a core functional language designed for adaptivity. We integrate the mechanism in a type and effect system, in the form of implicit coercions, showing that our type discipline guarantees that no adaptation errors occur.
Safe adaptation through implicit effect coercion
Galletta, Letterio;
2015-01-01
Abstract
Context-Oriented programming languages provide us with primitive constructs to adapt programs behaviour depending on the evolution of their operational environment. In this paradigm developers must provide behaviour for any context a program may find in. A missing behaviour causes a new kind of runtime error: an adaptation error. We propose a novel mechanism, based on implicit function, that allows the execution environment to supply such behaviour when the program is not able to adapt. We assess our proposal extending a core functional language designed for adaptivity. We integrate the mechanism in a type and effect system, in the form of implicit coercions, showing that our type discipline guarantees that no adaptation errors occur.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.