Finally tagless, partially evaluated: Tagless staged interpreters for simpler typed languages
We have built the first family of tagless interpretations for a higher-order typed object
language in a typed metalanguage (Haskell or ML) that require no dependent types …
language in a typed metalanguage (Haskell or ML) that require no dependent types …
Design patterns as higher-order datatype-generic programs
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 …
current mainstream programming languages, these elements can only be expressed extra …
Typed tagless final interpreters
O Kiselyov - … and indexed programming: International spring school …, 2012 - Springer
The so-called 'typed tagless final'approach of [6] has collected and polished a number of
techniques for representing typed higher-order languages in a typed metalanguage, along …
techniques for representing typed higher-order languages in a typed metalanguage, along …
Open data types and open functions
The problem of supporting the modular extensibility of both data and functions in one
programming language at the same time is known as the expression problem. Functional …
programming language at the same time is known as the expression problem. Functional …
Finally tagless, partially evaluated: Tagless staged interpreters for simpler typed languages
We have built the first family of tagless interpretations for a higher-order typed object
language in a typed metalanguage (Haskell or ML) that require no dependent types …
language in a typed metalanguage (Haskell or ML) that require no dependent types …
Generics for the masses
R Hinze - Journal of functional programming, 2006 - cambridge.org
A generic function is a function that can be instantiated on many data types to obtain data
type specific functionality. Examples of generic functions are the functions that can be …
type specific functionality. Examples of generic functions are the functions that can be …
[LIVRE][B] Pattern Calculus: Computing with Functions and Structures
B Jay - 2009 - books.google.com
Over time, basic research tends to lead to specialization–increasingly narrow t-ics are
addressed by increasingly focussed communities, publishing in increasingly con ned …
addressed by increasingly focussed communities, publishing in increasingly con ned …
“Scrap your boilerplate” reloaded
The paper “Scrap your boilerplate”(SYB) introduces a combinator library for generic
programming that offers generic traversals and queries. Classically, support for generic …
programming that offers generic traversals and queries. Classically, support for generic …
Comparing approaches to generic programming in Haskell
The last decade has seen a number of approaches to datatype-generic programming:
PolyP, Functorial ML,'Scrap Your Boilerplate', Generic Haskell,'Generics for the Masses', and …
PolyP, Functorial ML,'Scrap Your Boilerplate', Generic Haskell,'Generics for the Masses', and …
Extensibility for the masses: Practical extensibility with object algebras
This paper presents a new solution to the expression problem (EP) that works in OO
languages with simple generics (including Java or C#). A key novelty of this solution is that …
languages with simple generics (including Java or C#). A key novelty of this solution is that …