Service-based systems that are dynamically composed at runtime to provide complex, adaptive functionality are currently one of the main development paradigms in software …
A thorough and accessible introduction to a range of key ideas in type systems for programming language. The study of type systems for programming languages now touches …
As its title promises, this book provides foundations for software specification and formal software development from the perspective of work on algebraic specification. It …
Haskell programmers often use a multi-parameter type class in which one or more type parameters are functionally dependent on the first. Although such functional dependencies …
Generic programming has emerged as an important technique for the development of highly reusable and efficient software libraries. In C++, generic programming is enabled by the …
Haskell's type classes allow ad-hoc overloading, or type-indexing, of functions. A natural generalisation is to allow type-indexing of data types as well. It turns out that this idea …
J Gibbons - Proceedings of the 2006 ACM SIGPLAN workshop on …, 2006 - dl.acm.org
Design patterns are reusable abstractions in object-oriented software. However, using current mainstream programming languages, these elements can only be expressed extra …
K Dewey, J Roesch, B Hardekopf - 2015 30th IEEE/ACM …, 2015 - ieeexplore.ieee.org
Language fuzzing is a bug-finding technique for testing compilers and interpreters, its effectiveness depends upon the ability to automatically generate valid programs in the …
Open, type-level functions are a recent innovation in Haskell that move Haskell towards the expressiveness of dependent types, while retaining the look and feel of a practical …