Blogs (28) >>
ICFP 2017
Sun 3 - Sat 9 September 2017 Oxford, United Kingdom
Sun 3 Sep 2017 10:30 - 11:00 at L3 - Modular Semantics

We argue that the central problem of the interaction of higher-order programming with various kinds of effects can be tackled by eliminating the distinction: higher-order facility is itself an effect, not too different from state effect.

We demonstrate that first-class abstractions may be treated uniformly as any other effects, thus completing Cartwright and Felleisen’s program of “Extensible Denotational Language Specifications”: Variable substitution is indistinguishable from dereference of a C-like variable; “lambda”, or creating a closure, is an effect as well. The (lexical) closure acts as a handler of all variable dereference effects arising during the execution of its body. Our approach uniformly handles dynamic and lexical binding and various calling conventions.

All in all, higher-order programming is essentially first-order single-assignment programming with first-class storage. A framework like extensible-effects that supports multiple effects should not hence have any problem with abstraction and substitution effects – which gives HOPE.

Extended Abstract (HOPE.pdf)113KiB

Conference Day
Sun 3 Sep

Displayed time zone: Belfast change