Results 1 
5 of
5
Type class polymorphism in an institutional framework
 IN JOSÉ FIADEIRO, EDITOR, 17TH WADT, LECTURE NOTES IN COMPUTER SCIENCE
, 2005
"... Higherorder logic with shallow type class polymorphism is widely used as a specification formalism. Its polymorphic entities (types, operators, axioms) can easily be equipped with a ‘naive ’ semantics defined in terms of collections of instances. However, this semantics has the unpleasant property ..."
Abstract

Cited by 12 (7 self)
 Add to MetaCart
Higherorder logic with shallow type class polymorphism is widely used as a specification formalism. Its polymorphic entities (types, operators, axioms) can easily be equipped with a ‘naive ’ semantics defined in terms of collections of instances. However, this semantics has the unpleasant property that while model reduction preserves satisfaction of sentences, model expansion generally does not. In other words, unless further measures are taken, type class polymorphism fails to constitute a proper institution, being only a socalled rps preinstitution; this is unfortunate, as it means that one cannot use institutionindependent or heterogeneous structuring languages, proof calculi, and tools with it. Here, we suggest to remedy this problem by modifying the notion of model to include information also about its potential future extensions. Our construction works at a high level of generality in the sense that it provides, for any preinstitution, an institution in which the original preinstitution can be represented. The semantics of polymorphism used in the specification language HasCasl makes use of this result. In fact, HasCasl’s polymorphism is a special case of a general notion of polymorphism in institutions introduced here, and our construction leads to the right notion of semantic consequence when applied to this generic polymorphism. The appropriateness of the construction for other frameworks that share the same problem depends on methodological questions to be decided case by case. In particular, it turns out that our method is apparently unsuitable for observational logics, while it works well with abstract state machine formalisms such as statebased Casl.
The logic of the partial λcalculus with equality
 In Jerzy Marcinkowski and Andrzej Tarlecki, editors, Computer Science Logic (CSL 04
, 2004
"... Abstract. We investigate the logical aspects of the partial λcalculus with equality, exploiting an equivalence between partial λtheories and partial cartesian closed categories (pcccs) established here. The partial λcalculus with equality provides a fullblown intuitionistic higher order logic, w ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
Abstract. We investigate the logical aspects of the partial λcalculus with equality, exploiting an equivalence between partial λtheories and partial cartesian closed categories (pcccs) established here. The partial λcalculus with equality provides a fullblown intuitionistic higher order logic, which in a precise sense turns out to be almost the logic of toposes, the distinctive feature of the latter being unique choice. We give a linguistic proof of the generalization of the fundamental theorem of toposes to pcccs with equality; type theoretically, one thus obtains that the partial λcalculus with equality encompasses a MartinLöfstyle dependent type theory. This work forms part of the semantical foundations for the higher order algebraic specification language HasCasl.
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].