| Luc Duponcheel. Writing modular interpreters using catamorphisms, subtypes and monad transformers. Technical Report (Draft), Utrecht University, 1995. |
....functors and the calculating properties that can be obtained by means of folds or catamorphisms led to a complete discipline which could be named as generic programming [2] Following that approach, L. Duponcheel proposed the combined use of folds or catamorphisms with modular monadic semantics [4] allowing the independent specification of the abstract syntax, the computational monad and the domain value. In [8,9,10,12] we also applied monadic catamorphisms, which facilitate the separation between recursive evaluation and semantic specification. In [11] we also show that it is possible to ....
Luc Duponcheel. Writing modular interpreters using catamorphisms, subtypes and monad transformers. Technical Report (Draft), Utrecht University, 1995.
....and the calculating properties that can be obtained by means of folds or catamorphisms led to a complete discipline which could be named as generic programming [39,40,3] Following that approach, L. Duponcheel proposed the combined use of folds or catamorphisms with modular monadic semantics [9] allowing the independent specification of the abstract syntax, the computational monad and the domain value. Monadic catamorphisms were studied in [11,19] and applied to practical functional programming in [41] Inspired by that work, we applied monadic folds [30,31,32] to modular monadic ....
Luc Duponcheel. Writing modular interpreters using catamorphisms, subtypes and monad transformers. Utrecht University, 1995.
....of pattern functors and the calculating properties that can be obtained by means of folds or catamorphisms led to a complete discipline which could be named as generic programming [2] Following that approach, L. Duponcheel proposed the combined use of catamorphisms with modular monadic semantics [5] allowing the independent speci cation of the abstract syntax, the computational monad and the domain value. In [9,10,11,12] we applied monadic catamorphisms allowing to separate the recursive evaluation and the semantic speci cation. In [13] we also show that it is possible to apply this approach ....
Luc Duponcheel. Writing modular interpreters using catamorphisms, subtypes and monad transformers. Utrecht University, 1995.
....context, generic programming [2] has been developed into a complete discipline from the study of the calculational properties of recursive datatypes and patterns. APPIA GULP PRODE 2001 The combination of modular monadic semantics and generic programming was firstly proposed by L. Duponcheel [6], allowing the independent specification of the abstract syntax, the computational monad and the domain value. Following that approach, we developed a Language Prototyping System [12, 13, 14, 17] where we also apply monadic catamorphisms, which facilitate the separation between recursive ....
Luc Duponcheel. Writing modular interpreters using catamorphisms, subtypes and monad transformers. Technical Report (Draft), Utrecht University, 1995.
....Plan Regional de Investigacin del Principado de Asturias Constructive algorithmics provided a theoretical basis for generic programming that favoured the development of generic functions parameterized by data types. Fold is one of these functions and its application to modular monadic semantics [3] resulted in more modular interpreters. Monadic folds generalise folds and have a great number of practical applications [19] We consider that using folds and monadic folds in modular monadic semantics will improve the abstraction level and modularity of our interpreters. As a running example, ....
....non recursive functor N represents the recursive shape of a simple language of arithmetic expressions: data N a = Cons Int Add a a Dvd a a and the abstract syntax of the language will be: type Arith = Fix N We are interested to compose the abstract syntax in a modular way. L. Duponcheel [3] presents a technique that we call extensible union functors to construct a new functor from two functors: data SumF f g x = S (Either (f x) g x) unS (S x) x instance (Functor f, Functor g) Functor (S f g) where map g = S . either (Left . map g) Right . map g) unS Using that ....
[Article contains additional citation context not shown here]
L. Duponcheel, Writing modular interpreters using Catamorphisms, subtypes and monad transformers. Research Report (draft) (Utrecht University, 1995).
....specifications of programming languages. On another side, constructive algorithmics provided a theoretical basis for generic programming that favoured the development of generic functions parameterised by data types. Fold is one of these functions and its application to modular monadic semantics [3] results in more modular interpreters. Monadic folds generalise folds and have a great number of practical applications [23] 17] Using folds and monadic folds in modular monadic semantics improves the abstraction level and modularity allowing the development of language prototyping systems. As a ....
....etc. Multiple monad transformers can be composed to form the underlying monad used by all the semantic building blocks. We do not go into the details of monad transformers and their composition, which can be consulted in [18] 19] and [20] With regard to semantic building blocks, L. Duponcheel [3] presents a modular way to compose different blocks using folds. We present his approach to define the semantics of a simple language. First, we need a monad that supports exceptions (to handle division by zero) so we use ErrMonad defined by the following type class: class Monad m = ErrMonad m ....
[Article contains additional citation context not shown here]
L. Duponcheel, Writing modular interpreters using Catamorphisms, subtypes and monad transformers. Research Report (draft) (Utrecht University, 1995).
No context found.
Luc Duponcheel. Writing modular interpreters using catamorphisms, subtypes and monad transformers. Technical Report (Draft), Utrecht University, 1995.
No context found.
Luc Duponcheel. Writing modular interpreters using catamorphisms, subtypes and monad transformers. Utrecht University, 1995.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC