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 new approach to the old problem of adding side effects to purely functional languages. Our idea is to extend the language with "witnesses," which is based o...
Multi-stage programming (MSP) provides a disciplined approach to run-time code generation. In the purely functional setting, it has been shown how MSP can be used to reduce the ov...
Edwin Westbrook, Mathias Ricken, Jun Inoue, Yilong...
Abstract. Cost analysis of Java bytecode is complicated by its unstructured control flow, the use of an operand stack and its object-oriented programming features (like dynamic di...
Data structures with a hole, in other words data structures with an uninitialized field, are useful to write efficient programs: they enable us to construct functional data stru...