Software modifications are often systematic—they consist of similar, but not identical, program changes to multiple contexts. Existing tools for systematic program transformati...
The development of design patterns in object-oriented programming aims at capturing good software design in a re-usable generic form. However, design patterns are not expressible ...
Ondrej Rypacek, Roland Carl Backhouse, Henrik Nils...
We present a self-applicable partial evaluator for a large subset of full Prolog. The partial evaluator, called Logimix, is the result of applying our experience from partial eval...
This paper presents a programming language that includes paradigms that are usually associated with declarative languages, such as sets, rules and search, into an imperative (funct...
In functional programming, monadic characterizations of computational effects are normally understood denotationally: they describe how an effectful program can be systematically ...