We present a new implementation of Wadler's pretty-printing combinators. In this implementation, the combinators explicitly manipulate document values, rather than being abstract syntax operators. The purpose of this paper is to advance a point of view about domain modelling and language embedding: that the first and most essential step in domain modelling is finding appropriate values to represent objects in the domain. In this case, we have found what appears to be the appropriate notion of "document value" (to the extent that Wadler's combinators represent an appropriate notion of "document"). We argue that proceeding from this point of view provides greater insight into the domain, as well as a more efficie...
To lighten the burden of programming language mechanization, many approaches have been developed tha...
This article describes a compiler generator, called Mímico, that outputs code based on the use of mo...
We propose a naive version of action semantics that begins with a selection of transient and persist...
The domain-specific language allows for describing problems of a concrete domain, for which the lang...
Abstract. Galleys have been introduced by Jeff Kingston as one of the key concepts underlying his ad...
The Vienna Development Method (VDM) was developed in the early 1970s as a variant of denotational se...
Parsers and pretty-printers for a language are often quite similar, yet both are typically implement...
AbstractThe powerful abstraction mechanisms of functional programming languages provide the means to...
AbstractMonads have become very popular for structuring functional programs since Wadler introduced ...
The powerful abstraction mechanisms of functional programming languagesprovide the means to develop ...
The powerful abstraction mechanisms of functional programming languages provide the means to develop...
A fundamental activity in programming language design is the association of a name to a syntactic ph...
Abstract. We describe the design and implementation of a Standard ML of New Jersey library for the i...
The connection between language processing and combinatorics on words is natural. Historically, ling...
In M. Wand (1982, in “Conf. Rec. 9th ACM Sympos. on Principles of Programming Languages,” pp. 234–24...
To lighten the burden of programming language mechanization, many approaches have been developed tha...
This article describes a compiler generator, called Mímico, that outputs code based on the use of mo...
We propose a naive version of action semantics that begins with a selection of transient and persist...
The domain-specific language allows for describing problems of a concrete domain, for which the lang...
Abstract. Galleys have been introduced by Jeff Kingston as one of the key concepts underlying his ad...
The Vienna Development Method (VDM) was developed in the early 1970s as a variant of denotational se...
Parsers and pretty-printers for a language are often quite similar, yet both are typically implement...
AbstractThe powerful abstraction mechanisms of functional programming languages provide the means to...
AbstractMonads have become very popular for structuring functional programs since Wadler introduced ...
The powerful abstraction mechanisms of functional programming languagesprovide the means to develop ...
The powerful abstraction mechanisms of functional programming languages provide the means to develop...
A fundamental activity in programming language design is the association of a name to a syntactic ph...
Abstract. We describe the design and implementation of a Standard ML of New Jersey library for the i...
The connection between language processing and combinatorics on words is natural. Historically, ling...
In M. Wand (1982, in “Conf. Rec. 9th ACM Sympos. on Principles of Programming Languages,” pp. 234–24...
To lighten the burden of programming language mechanization, many approaches have been developed tha...
This article describes a compiler generator, called Mímico, that outputs code based on the use of mo...
We propose a naive version of action semantics that begins with a selection of transient and persist...