Results 1 -
8 of
8
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 118 (25 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 complex-object 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 wide-spectrum 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 wide-spectrum 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 set-theoretic 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 object-oriented 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 object-oriented 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 object-oriented programming including user definable class hierarchies, multiple inheritance, and data abstraction, • the notion of extents and object-identities for object-oriented 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 (set-theoretic) 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 higher-order logic of partial functions, which by our results is the logic of pccc’s with equality). Finally, we give some applications of the model-theoretic equivalence result to the semantics of HasCasl and its relation to first-order 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 wide-spectrum 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 wide-spectrum 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 set-theoretic 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].

