Haskell is a great language for writing and supporting embedded Domain Specific Languages (DSLs). Some form of observable sharing is often a critical capability for allowing so-c...
This paper shows that CPP, the preprocessor of the C language, can be seen as a programming language in which directives are statements, parametrized macros are functions, files a...
A programming language with subtyping can be translated into a language without subtyping by inserting conversion functions. Previous studies of this interpretation showed only the...
In this paper, we describe the reengineering of a deteriorated object-oriented industrial program written in C++. The main problem of the program was misplaced code, most often fu...
constraint solver. The other infers annotations on bound variables in function abstractions by propagating type constraints downward from enclosing application nodes. We motivate o...