Results 1 
9 of
9
Le Fun: Logic, equations, and Functions
 In Proc. 4th IEEE Internat. Symposium on Logic Programming
, 1987
"... Abstract † We introduce a new paradigm for the integration of functional and logic programming. Unlike most current research, our approach is not based on extending unification to generalpurpose equation solving. Rather, we propose a computation delaying mechanism called residuation. This allows a ..."
Abstract

Cited by 44 (1 self)
 Add to MetaCart
Abstract † We introduce a new paradigm for the integration of functional and logic programming. Unlike most current research, our approach is not based on extending unification to generalpurpose equation solving. Rather, we propose a computation delaying mechanism called residuation. This allows a clear distinction between functional evaluation and logical deduction. The former is based on the λcalculus, and the latter on Horn clause resolution. In clear contrast with equationsolving approaches, our model supports higherorder function evaluation and efficient compilation of both functional and logic programming expressions, without being plagued by nondeterministic termrewriting. In addition, residuation lends itself naturally to process synchronization and constrained search. Besides unification (equations), other residuations may be any grounddecidable goal, such as mutual exclusion (inequations), and comparisons (inequalities). We describe an implementation of the residuation paradigm as a prototype language called Le Fun—Logic, equations, and Functions.
TIGUKAT: A Uniform Behavioral Objectbase Management System
 THE VLDB JOURNAL
, 1995
"... We describe the TIGUKAT objectbase management system that is under development at the Laboratory for Database Systems Research at the University of Alberta. TIGUKAT has a novel object model whose identifying characteristics include a purely behavioral semantics and a uniform approach to objects. Eve ..."
Abstract

Cited by 39 (15 self)
 Add to MetaCart
We describe the TIGUKAT objectbase management system that is under development at the Laboratory for Database Systems Research at the University of Alberta. TIGUKAT has a novel object model whose identifying characteristics include a purely behavioral semantics and a uniform approach to objects. Everything in the system, including types, classes, collections, behaviors, functions as well as metainformation, is a firstclass object with welldefined behavior. In this way, the model abstracts everything, including traditional structural notions such as instance variables, method implementation and schema definition, into a uniform semantics of behaviors on objects. Our emphasis in this paper is on the object model, its implementation, the persistence model and the query language. We also (briefly) present other database management functions that are under development such as the query optimizer, the version control system and transaction manager.
Type Checking with Universes
, 1991
"... Various formulations of constructive type theories have been proposed to serve as the basis for machineassisted proof and as a theoretical basis for studying programming languages. Many of these calculi include a cumulative hierarchy of "universes," each a type of types closed under a ..."
Abstract

Cited by 24 (6 self)
 Add to MetaCart
Various formulations of constructive type theories have been proposed to serve as the basis for machineassisted proof and as a theoretical basis for studying programming languages. Many of these calculi include a cumulative hierarchy of "universes," each a type of types closed under a collection of typeforming operations. Universes are of interest for a variety of reasons, some philosophical (predicative vs. impredicative type theories), some theoretical (limitations on the closure properties of type theories), and some practical (to achieve some of the advantages of a type of all types without sacrificing consistency.) The Generalized Calculus of Constructions (CC ! ) is a formal theory of types that includes such a hierarchy of universes. Although essential to the formalization of constructive mathematics, universes are tedious to use in practice, for one is required to make specific choices of universe levels and to ensure that all choices are consistent. In this pa...
Type System of an ObjectOriented Database Programming Language (Extended Abstract)
 ACM COMPUTING SURVEYS (CSUR
, 1999
"... In this paper we present the type system of the TIGUKAT database programming language. It is a highly parametric objectoriented type system that combines multiple dispatch with reflexivity, separation of interface and implementation, precise behavior typing, and union and intersection types. We dem ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
In this paper we present the type system of the TIGUKAT database programming language. It is a highly parametric objectoriented type system that combines multiple dispatch with reflexivity, separation of interface and implementation, precise behavior typing, and union and intersection types. We demonstrate the inner workings of the type system by considering a concrete example of type specification in TIGUKAT. We also review type systems of several existing programming languages and conclude that the proposed type system has a unique combination of features particularly suited for objectoriented database programming.
Towards a SetTheoretic Type Theory
, 1988
"... this paper is to present such system of sets that may serve as a foundation for denotations of type expressions of a programming language. In this system there is no selfapplication and its existence is consistent with any classical set theory. Still, it is rich enough to contain highorder function ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
this paper is to present such system of sets that may serve as a foundation for denotations of type expressions of a programming language. In this system there is no selfapplication and its existence is consistent with any classical set theory. Still, it is rich enough to contain highorder functions, polymorphism and dependent types. Also recursion operators as well as those needed to build types defined by recursive equations are present. 1 Basic notions
Aiding Dependent Type Checking with Rewrite Rules
, 2001
"... Dependent type checking in Cayenne often fails when the programmer has relied on nontrivial properties of functions that are used in types. For instance, associativity of addition on natural numbers does not follow immediately from the function definition, but it may be required during the type che ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Dependent type checking in Cayenne often fails when the programmer has relied on nontrivial properties of functions that are used in types. For instance, associativity of addition on natural numbers does not follow immediately from the function definition, but it may be required during the type checking process. We propose to tackle this problem by allowing the programmer to annotate programs with rewrite rules whenever such additional properties are required. We discuss two motivating examples and report on a feasibility study where we integrated a rewriting system into a type checking algorithm for a language with dependent types and general recursion.
Theories = Signatures + Propositions Used as Types
 Integrating Symbolic Mathematical Computation and Artificial Intelligence (AISMC2), volume 958 of Lecture Notes in Computer Science
, 1994
"... . Languages that distinguish between types and structures use explicit components for the carrier type(s) in structures. Examples are the functional language Standard ML and most algebraic specification systems. Hence, they have to use general sum types or signatures to give types to structures and ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
. Languages that distinguish between types and structures use explicit components for the carrier type(s) in structures. Examples are the functional language Standard ML and most algebraic specification systems. Hence, they have to use general sum types or signatures to give types to structures and to be able to build, for instance, the algebraic hierarchy. Furthermore, in most languages the modelling of properties that the elements of a signature  the structures  should fulfill is not possible or computationally not relevant. This is a major drawback, especially in a computer algebra environment. This paper presents a calculus for building signatures with explicit type components which are needed for modelling manysorted structures and structures of the same signature with identical carriers. Additionally, we provide the possibility of using propositions as components needed for modelling the properties of structures. Propositions, which are distinguished from booleans, are inhab...
On Type Systems for ObjectOriented Database Programming Languages
"... The concept of an objectoriented database programming language (OODBPL) is appealing because it has the potential of combining the advantages of object orientation and database programming to yield a powerful and universal programming language design. A uniform and consistent combination of object ..."
Abstract
 Add to MetaCart
The concept of an objectoriented database programming language (OODBPL) is appealing because it has the potential of combining the advantages of object orientation and database programming to yield a powerful and universal programming language design. A uniform and consistent combination of object orientation and database programming, however, is not straightforward. Since one of the main components of an objectoriented programming language is its type system, one of the first problems that arises during an OODBPL design is related to the development of a uniform, consistent, and theoretically sound type system that is sufficiently expressive to satisfy the combined needs of object orientation and database programming.
On TypeDirected Partial Evaluation
, 1997
"... l handled by abstracting them from the original term (using an explicit Ycombinator for recursion). The significance of being able to take compiled code as input is two fold: First, it alleviates the need for the symbolic execution of the source program, and hence, can be done more efficiently. Se ..."
Abstract
 Add to MetaCart
l handled by abstracting them from the original term (using an explicit Ycombinator for recursion). The significance of being able to take compiled code as input is two fold: First, it alleviates the need for the symbolic execution of the source program, and hence, can be done more efficiently. Second, in standard partial evaluation we sometimes find that we need to insert a "static" function value into a "dynamic" context [JGS93]. Traditionally, this meant replacing the static value by the text of the computation that produced it. In the above example, it would mean symbolically replacing both occurances of f in the expression f (f (x,y),z) with the syntax syntax (fn (x,y) =? x). With residualize, we arrive at the simpler expression x directly. Theoretical Foundations: There appear to be some strong ties between TDPE and some new developments in proof theory [Dan96b]. Berger and Schwic