Results 1 
9 of
9
Naturally Embedded Query Languages
 LNCS 646: Proceedings of 4th International Conference on Database Theory
, 1992
"... We investigate the properties of a simple programming language whose main computational engine is structural recursion on sets. We describe a progression of sublanguages in this paradigm that (1) have increasing expressive power, and (2) illustrate robust conceptual restrictions thus exhibiting inte ..."
Abstract

Cited by 130 (26 self)
 Add to MetaCart
We investigate the properties of a simple programming language whose main computational engine is structural recursion on sets. We describe a progression of sublanguages in this paradigm that (1) have increasing expressive power, and (2) illustrate robust conceptual restrictions thus exhibiting interesting additional properties. These properties suggest that we consider our sublanguages as candidates for "query languages". Viewing query languages as restrictions of our more general programming language has several advantages. First, there is no "impedance mismatch" problem; the query languages are already there, so they share common semantic foundation with the general language. Second, we suggest a uniform characterization of nested relational and complexobject algebras in terms of some surprisingly simple operators; and we can make comparisons of expressiveness in a general framework. Third, we exhibit differences in expressive power that are not always based on complexity arguments...
HasCASL: Towards Integrated Specification and Development of Functional Programs
, 2002
"... The development of programs in modern functional languages such as Haskell calls for a widespectrum specification formalism that supports the type system of such languages, in particular higher order types, type constructors, and parametric polymorphism, and contains a functional language as an exe ..."
Abstract

Cited by 25 (11 self)
 Add to MetaCart
The development of programs in modern functional languages such as Haskell calls for a widespectrum specification formalism that supports the type system of such languages, in particular higher order types, type constructors, and parametric polymorphism, and contains a functional language as an executable subset in order to facilitate rapid prototyping. We lay out the design of HasCasl, a higher order extension of the algebraic specification language Casl that is geared towards precisely this purpose. Its semantics is tuned to allow program development by specification refinement, while at the same time staying close to the settheoretic semantics of first order Casl. The number of primitive concepts in the logic has been kept as small as possible; we demonstrate how various extensions to the logic, in particular general recursion, can be formulated within the language itself.
A Study of Semantics, Types, and Languages for Databases and Object Oriented Programming
, 1989
"... The purpose of this thesis is to investigate a type system for databases and objectoriented programming and to design a statically typed programming language for these applications. Such a language should ideally have a static type system that supports: • polymorphism and static type inference, • r ..."
Abstract

Cited by 8 (0 self)
 Add to MetaCart
The purpose of this thesis is to investigate a type system for databases and objectoriented programming and to design a statically typed programming language for these applications. Such a language should ideally have a static type system that supports: • polymorphism and static type inference, • rich data structures and operations to represent various data models for databases including the relational model and more recent complex object models, • central features of objectoriented programming including user definable class hierarchies, multiple inheritance, and data abstraction, • the notion of extents and objectidentities for objectoriented databases. Without a proper formalism, it is not obvious that the construction of such a type system is possible. This thesis attempts to construct one such formalism and proposes a programming language that uniformly integrate all of the above features. The specific contributions of this thesis include: • A simple semantics for ML polymorphism and axiomatization of the equational theory of ML. • A uniform generalization of the relational model to arbitrary complex database objects that
The HasCasl prologue: categorical syntax and semantics of the partial λcalculus
 COMPUT. SCI
, 2006
"... We develop the semantic foundations of the specification language HasCasl, which combines algebraic specification and functional programming on the basis of Moggi’s partial λcalculus. Generalizing Lambek’s classical equivalence between the simply typed λcalculus and cartesian closed categories, we ..."
Abstract

Cited by 6 (4 self)
 Add to MetaCart
We develop the semantic foundations of the specification language HasCasl, which combines algebraic specification and functional programming on the basis of Moggi’s partial λcalculus. Generalizing Lambek’s classical equivalence between the simply typed λcalculus and cartesian closed categories, we establish an equivalence between partial cartesian closed categories (pccc’s) and partial λtheories. Building on these results, we define (settheoretic) notions of intensional Henkin model and syntactic λalgebra for Moggi’s partial λcalculus. These models are shown to be equivalent to the originally described categorical models in pccc’s via the global element construction. The semantics of HasCasl is defined in terms of syntactic λalgebras. Correlations between logics and classes of categories facilitate reasoning both on the logical and on the categorical side; as an application, we pinpoint unique choice as the distinctive feature of topos logic (in comparison to intuitionistic higherorder logic of partial functions, which by our results is the logic of pccc’s with equality). Finally, we give some applications of the modeltheoretic equivalence result to the semantics of HasCasl and its relation to firstorder Casl.
Decidability Properties Of Recursive Types
, 2003
"... In this paper we study decision problems and invertibility for two notions of equivalence of recursive types. In particular, for recursive types presented by means of a recursion operator , we describe an algorithm showing that the natural equivalence generated by finitely many steps of folding and ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
In this paper we study decision problems and invertibility for two notions of equivalence of recursive types. In particular, for recursive types presented by means of a recursion operator , we describe an algorithm showing that the natural equivalence generated by finitely many steps of folding and unfolding of types is decidable. For recursive types presented by finite systems of recursive equations, we give a thoroughly coinductive characterization of the equivalence induced by their interpretation as infinite (regular) trees, from which the decidability of this equivalence follows. A formal proof of the former result, to our knowledge, has never appeared in the literature. The latter result, on the contrary, is well known but we present here a new proof obtained as an application of general coalgebraic facts to the theory of recursive types. From these results invertibility is easily proved for both equivalences. 1
HasCasl  Integrated functional . . .
, 2004
"... The development of programs in modern functional languages such as Haskell calls for a widespectrum specification formalism that supports the type system of such languages, in particular higher order types, type constructors, and polymorphism, and that contains a functional language as an executabl ..."
Abstract
 Add to MetaCart
The development of programs in modern functional languages such as Haskell calls for a widespectrum specification formalism that supports the type system of such languages, in particular higher order types, type constructors, and polymorphism, and that contains a functional language as an executable subset in order to facilitate rapid prototyping. We lay out the design of HasCasl, a higher order extension of Casl that is geared towards precisely this purpose. Its semantics is tuned to allow program development by specification refinement, while at the same time staying close to the settheoretic semantics of first order Casl. The number of primitive concepts in the logic has been kept as small as possible; advanced concepts, in particular general recursion, can be formulated within the language itself. This document provides a detailed definition of the HasCasl syntax and an informal description of the semantics, building on the existing Casl Summary [CoF].