Bidirectional programming languages are a practical approach to the view update problem. Programs in these languages, called lenses, define both a view and an update policy--i.e.,...
Davi M. J. Barbosa, Julien Cretin, Nate Foster, Mi...
Parallel functional programs with implicit communication often generate purely hierarchical communication topologies during execution: communication only happens between parent an...
Using a problem domain motivated by Bentley's"Little Languages" column [1], this paper explores the use of the Ruby programming language's flexible syntax, dyn...
Transactional events (TE) are an approach to concurrent programming that enriches the first-class synchronous message-passing of Concurrent ML (CML) with a combinator that allows ...
GADTs are at the cutting edge of functional programming and become more widely used every day. Nevertheless, the semantic foundations underlying GADTs are not well understood. In ...