The structure of monadic functional programs allows the integration of many different features into such programs by just changing the definition of the monad and not the program, which is a desirable feature from a software engineering and maintenance point of view. We describe an algorithm for the automatic transformation...
We describe the design of a domain-specific language (DSL) for the specification of generic ocean modeling tools, and we describe the
implementation of its compiler. The goal of the DSL is to allow the specification of widely usable tools for ocean modeling once, and to allow its translation into different...
Many software maintenance problems are caused by using text editors to change programs. A more systematic and reliable way of performing program updates is to express changes with an update language. In particular, updates should preserve the syntax- and type-correctness of the transformed object programs. We describe an update calculus...