Results 11 
17 of
17
An Algebraic Framework for Separate TypeChecking
 WADT'98 (13th Workshop on Algebraic Development Techniques
, 1999
"... . We address the problem of defining an algebraic framework for modularization supporting separate typechecking. In order to do that we introduce the notions of abstract type system and logic of constraints and we present a canonical construction of a model part, on top of a logic of constraints. T ..."
Abstract

Cited by 3 (3 self)
 Add to MetaCart
(Show Context)
. We address the problem of defining an algebraic framework for modularization supporting separate typechecking. In order to do that we introduce the notions of abstract type system and logic of constraints and we present a canonical construction of a model part, on top of a logic of constraints. This canonical construction works under standard assumptions on the underlying type system. We show that the framework is suitable for defining the static and dynamic semantics of module languages, by giving a concrete example of construction on top of the type system of a simple typed module language. As a result, the subtyping relation between module interfaces is captured in a natural way by the notion of signature morphism. Introduction Modularization has been considered since the early 70s an essential principle for managing the complex task of software development [29]. Nowadays there exist many modular programming languages offering rather advanced features for modularization. Neverth...
A higherorder simulation relation for System F
 Proc. 3rd Intl. Conf. on Foundations of Software Science and Computation Structures. ETAPS 2000
, 2000
"... The notion of data type specification refinement is discussed in a setting of System F and the logic for parametric polymorphism of Plotkin and Abadi. At first order, one gets a notion of specification refinement up to observational equivalence in the logic simply by using Luo's formalism. Thi ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
(Show Context)
The notion of data type specification refinement is discussed in a setting of System F and the logic for parametric polymorphism of Plotkin and Abadi. At first order, one gets a notion of specification refinement up to observational equivalence in the logic simply by using Luo's formalism. This paper generalises this notion to abstract data types whose signatures contain higherorder and polymorphic functions. At higher order, the tight connection in the logic between the existence of a simulation relation and observational equivalence ostensibly breaks down. We show that an alternative notion of simulation relation is suitable. This also gives a simulation relation in the logic that composes at higher order, thus giving a syntactic logical counterpart to recent advances on the semantic level.
Specification Refinement with System F, The HigherOrder Case
, 2000
"... . A typetheoretic counterpart to the notion of algebraic specification refinement is discussed for abstract data types with higherorder signatures. The typetheoretic setting consists of System F and the logic for parametric polymorphism of Plotkin and Abadi. For firstorder signatures, this setti ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
(Show Context)
. A typetheoretic counterpart to the notion of algebraic specification refinement is discussed for abstract data types with higherorder signatures. The typetheoretic setting consists of System F and the logic for parametric polymorphism of Plotkin and Abadi. For firstorder signatures, this setting immediately gives a natural notion of specification refinement up to observational equivalence via the notion of simulation relation. Moreover, a proof strategy for proving observational refinements formalised by Bidoit, Hennicker and Wirsing can be soundly imported into the type theory. In lifting these results to the higherorder case, we find it necessary firstly to develop an alternative simulation relation and secondly to extend the parametric PERmodel interpretation, both in such a way as to observe data type abstraction barriers more closely. 1 Introduction One framework in algebraic specification that has particular appeal and applicability is that of stepwise specification refi...
Abstract
"... To argue that it is practical to extend core Haskell to support higherorder modules, we translate Dreyer, Crary, and Harper’s higherorder module system (2002, 2003) into System Fω. Our translation is the first to fully treat generative functors (with existential types) alongside applicative ones ( ..."
Abstract
 Add to MetaCart
(Show Context)
To argue that it is practical to extend core Haskell to support higherorder modules, we translate Dreyer, Crary, and Harper’s higherorder module system (2002, 2003) into System Fω. Our translation is the first to fully treat generative functors (with existential types) alongside applicative ones (with Skolemized types). Applicative functors correspond to higherorder polymorphism in idiomatic Haskell—abstract, higherkinded type constructors, accompanied by term combinators. Higherorder functors correspond to higherrank polymorphism in Fω, which is practical to add to Haskell and has been added (Peyton Jones and Shields 2004). The difference between generative and applicative functors boils down to whether existential type variables scope under or over the typing context. Thus we can express functor bodies that mix generative and applicative parts, which are inconvenient to simulate in Dreyer et al.’s language. Also, we elude the avoidance problem (the lack of minimal supersignatures) because existential quantification is primitive in Fω. Although modules are firstclass values, type sharing and the phase distinction are both preserved: the programmer can make finegrained tradeoffs between opaque and transparent types, and two modules are statically equivalent just in case they have the same type. Our work can guide further improvements to modularity in Haskell and ML. 1
Type checking Parametrised Programs and Specifications in ASL+ FPC
"... Abstract ASL+ [SST92] is a kernel specification language with higherorder parametrisation for programs and specifications, based on a dependently typed λcalculus. ASL+ has an institutionindependent semantics, which leaves the underlying programming language and specification logic unspecified. To ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract ASL+ [SST92] is a kernel specification language with higherorder parametrisation for programs and specifications, based on a dependently typed λcalculus. ASL+ has an institutionindependent semantics, which leaves the underlying programming language and specification logic unspecified. To complete the definition, and in particular, to study the type checking problem for ASL+, the language ASL+ FPC was conceived. It is a modified version of ASL+ for FPC, and institution based on the paradigmatic programming calculus FPC. The institution FPC is notable for including sharing equations inside signatures, reminiscent of socalled manifest types or translucent sums in type systems for programming language modules [Ler94,HL94]. This allows type equalities to be propagated when composing modules. This paper introduces FPC and ASL+ FPC and their type checking systems. 1 Program Development with Institutions A simple setup for program development with institutions [GB92] is to consider
General Terms
"... We present a type theory for higherorder modules that accounts for many central issues in module system design, including translucency, applicativity, generativity, and modules as firstclass values. Our type system harmonizes design elements from previous work, resulting in a simple, economical ac ..."
Abstract
 Add to MetaCart
(Show Context)
We present a type theory for higherorder modules that accounts for many central issues in module system design, including translucency, applicativity, generativity, and modules as firstclass values. Our type system harmonizes design elements from previous work, resulting in a simple, economical account of modular programming. The main unifying principle is the treatment of abstraction mechanisms as computational effects. Our language is the first to provide a complete and practical formalization of all of these critical issues in module system design. Categories and Subject Descriptors
The foundational legacy of ASL
"... Abstract. We recall the kernel algebraic specification language ASL and outline its main features in the context of the state of research on algebraic specification at the time it was conceived in the early 1980s. We discuss the most significant new ideas in ASL and the influence they had on subsequ ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract. We recall the kernel algebraic specification language ASL and outline its main features in the context of the state of research on algebraic specification at the time it was conceived in the early 1980s. We discuss the most significant new ideas in ASL and the influence they had on subsequent developments in the field and on our own work in particular. 1