Results 21 - 30
of
55
Feedback in an interactive equation solver
- Proceedings of the Web Advanced Learning Conference and Exhibition, WebALT 2006
, 2006
"... www.cs.uu.nl ..."
Towards Merging Recursion and Comonads
, 2000
"... Comonads are mathematical structures that account naturally for effects that derive from the context in which a program is executed. This paper reports ongoing work on the interaction between recursion and comonads. Two applications are shown that naturally lead to versions of a comonadic fold op ..."
Abstract
-
Cited by 8 (2 self)
- Add to MetaCart
Comonads are mathematical structures that account naturally for effects that derive from the context in which a program is executed. This paper reports ongoing work on the interaction between recursion and comonads. Two applications are shown that naturally lead to versions of a comonadic fold operator on the product comonad. Both versions capture functions that require extra arguments for their computation and are related with the notion of strong datatype. 1 Introduction One of the main features of recursive operators derivable from datatype definitions is that they impose a structure upon programs which can be exploited for program transformation. Recursive operators structure functional programs according to the data structures they traverse or generate and come equipped with a battery of algebraic laws, also derivable from type definitions, which are used in program calculations [24, 11, 5, 15]. Some of these laws, the so-called fusion laws, are particularly interesting in p...
Generic Programming for XML Tools
- Utrecht University
, 2002
"... A generic program is written once, and works on values of a large class of data types (or DTD's, schemas, structures, class hierarchies). This paper shows how generic programming can be used to implement XML tools such as XML editors, databases, and compressors, that depend on the DTD of an input ..."
Abstract
-
Cited by 7 (0 self)
- Add to MetaCart
A generic program is written once, and works on values of a large class of data types (or DTD's, schemas, structures, class hierarchies). This paper shows how generic programming can be used to implement XML tools such as XML editors, databases, and compressors, that depend on the DTD of an input XML document. The resulting tools usually perform better because knowledge of the DTD can be used to optimise the tools, and are smaller, because all DTD handling is dealt with in the generic programming compiler. The paper shows how an XML compressor is implemented as a generic program, and it discusses which other classes of XML tools would profit from an implementation as a generic program.
Mathematics of Recursive Program Construction
, 2001
"... A discipline for the design of recursive programs is presented. The core concept ..."
Abstract
-
Cited by 5 (1 self)
- Add to MetaCart
A discipline for the design of recursive programs is presented. The core concept
Categorical Fixed Point Calculus
, 1995
"... A number of lattice-theoretic fixed point rules are generalised to category theory and applied to the construction of isomorphisms between list structures. 1 Introduction Category theoreticians view a preordered set as a particular sort of category in which there is at most one arrow between any pa ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
A number of lattice-theoretic fixed point rules are generalised to category theory and applied to the construction of isomorphisms between list structures. 1 Introduction Category theoreticians view a preordered set as a particular sort of category in which there is at most one arrow between any pair of objects. According to this view, several concepts of lattice theory are instances of concepts of category theory as shown in table 1. An alternative viewpoint, advocated by Lambek [9], is that lattice theory is a valuable source of inspiration for novel results in category theory. Indeed, it is our view that for the purposes of advancing programming methodology category theory may profitably be regarded as "coherently constructive lattice theory 1 ". That is to say, arrows between objects of a category may be seen as "witnesses" to a preordering between the objects. Category theory is thus "constructive" because it is a theory about how to construct such witnesses rather than a theor...
Type-based termination of generic programs
- Science of Computer Programming
, 2007
"... Instances of a polytypic or generic program for a concrete recursive type often exhibit a recursion scheme that is derived from the recursion scheme of the instantiation type. In practice, the programs obtained from a generic program are usually terminating, but the proof of termination cannot be ca ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
Instances of a polytypic or generic program for a concrete recursive type often exhibit a recursion scheme that is derived from the recursion scheme of the instantiation type. In practice, the programs obtained from a generic program are usually terminating, but the proof of termination cannot be carried out with traditional methods as term orderings alone, since termination often crucially relies on the program type. In this article, it is demonstrated that type-based termination using sized types handles such programs very well. A framework for sized polytypic programming is developed which ensures (typebased) termination of all instances. 1
Generic Validation of Structural Content with Parametric Modules
- In Proceedings of the 2001 ACM SIGPLAN International Conference on Functional Programming
, 2001
"... In this paper, we demonstrate a natural mapping from element types of XML to module expressions of ML-like programming languages. The mapping is inductive, and the definitions of common XML operations can be derived as the module expressions are constructed. We show how to derive, in a generic way, ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
In this paper, we demonstrate a natural mapping from element types of XML to module expressions of ML-like programming languages. The mapping is inductive, and the definitions of common XML operations can be derived as the module expressions are constructed. We show how to derive, in a generic way, the validation function, which checks an XML document for conformance to the content model specified by its DTD (Document Type Definition). One can view the validation function as giving types to XML elements, and the validation procedure a pre-requirement for typeful XML programming in ML.
Generic Operations on Nested Datatypes
, 2001
"... Nested datatypes are a generalisation of the class of regular datatypes, which includes familiar datatypes like trees and lists. They typically represent constraints on the values of regular datatypes and are therefore used to minimise the scope for programmer error. ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
Nested datatypes are a generalisation of the class of regular datatypes, which includes familiar datatypes like trees and lists. They typically represent constraints on the values of regular datatypes and are therefore used to minimise the scope for programmer error.
Generic programming, now
- Generic Programming, Advanced Lectures, LNCS
, 2006
"... Abstract. Tired of writing boilerplate code? Tired of repeating essentially the same function definition for lots of different datatypes? Datatype-generic programming promises to end these coding nightmares. In these lecture notes, we present the key abstractions of datatype-generic programming, giv ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
Abstract. Tired of writing boilerplate code? Tired of repeating essentially the same function definition for lots of different datatypes? Datatype-generic programming promises to end these coding nightmares. In these lecture notes, we present the key abstractions of datatype-generic programming, give several applications, and provide an elegant embedding of generic programming into Haskell. The embedding builds on recent advances in type theory: generalised algebraic datatypes and open datatypes. We hope to convince you that generic programming is useful and that you can use generic programming techniques today! 1
Reusable Monadic Semantics of Object Oriented Programming Languages
, 2002
"... We specify the dynamic semantics of an object oriented programming language in an incremental way. We begin with a simple language of arithmetic and boolean expressions. Then, we add functional abstractions, local declarations, references and assignments obtaining a functional language with impe ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
We specify the dynamic semantics of an object oriented programming language in an incremental way. We begin with a simple language of arithmetic and boolean expressions. Then, we add functional abstractions, local declarations, references and assignments obtaining a functional language with imperative features. We finally add objects, classes and subclasses to obtain a prototypical object oriented language with dynamic binding.

