Results 1 - 10
of
17
A Modular Module System
- Journal of Functional Programming
, 2000
"... A simple implementation of an SML-like module system is presented as a module parameterized by a base language and its type-checker. This implementation is useful both as a detailed tutorial on the Harper-Lillibridge-Leroy module system and its implementation, and as a constructive demonstration of ..."
Abstract
-
Cited by 73 (0 self)
- Add to MetaCart
A simple implementation of an SML-like module system is presented as a module parameterized by a base language and its type-checker. This implementation is useful both as a detailed tutorial on the Harper-Lillibridge-Leroy module system and its implementation, and as a constructive demonstration of the applicability of that module system to a wide range of programming languages.
Essential Concepts of Algebraic Specification and Program Development
, 1996
"... The main ideas underlying work on the model-theoretic foundations of algebraic specification and formal program development are presented in an informal way. An attempt is made to offer an overall view, rather than new results, and to focus on the basic motivation behind the technicalities presente ..."
Abstract
-
Cited by 54 (15 self)
- Add to MetaCart
The main ideas underlying work on the model-theoretic foundations of algebraic specification and formal program development are presented in an informal way. An attempt is made to offer an overall view, rather than new results, and to focus on the basic motivation behind the technicalities presented elsewhere.
A Semantics for Higher-order Functors
, 1994
"... Standard ML has a module system that allows one to define parametric modules, called /urictots. Functors are "first-order," meaning that runetots themselves cannot be passed as parameters or returned as results of functor apphcations. This paper presents a semantics for a higher-order module syst ..."
Abstract
-
Cited by 51 (2 self)
- Add to MetaCart
Standard ML has a module system that allows one to define parametric modules, called /urictots. Functors are "first-order," meaning that runetots themselves cannot be passed as parameters or returned as results of functor apphcations. This paper presents a semantics for a higher-order module system which generalizes the module system of Standard ML. The higher-order functors described here are implemented in the current version of Standard ML of New Jersey and have proved useful in programming practice.
Abstract Petri Nets as a Uniform Approach to High-Level Petri Nets
, 1998
"... In the area of Petri nets, many different developments have taken place within the last 30 years, in academia as well as in practice. For an adequate use in practice, a coherent and application oriented combination of various types and techniques for Petri nets is necessary. In order to attain ..."
Abstract
-
Cited by 36 (18 self)
- Add to MetaCart
In the area of Petri nets, many different developments have taken place within the last 30 years, in academia as well as in practice. For an adequate use in practice, a coherent and application oriented combination of various types and techniques for Petri nets is necessary. In order to attain a formal basis for different classes of Petri nets we introduce the concept of abstract Petri nets. The essential point of abstract Petri nets is to allow different kinds of net structures as well as the combination of various kinds of data types. This means that in abstract Petri nets the data type and the net structure part can be considered as abstract parameters which can be instantiated to different concrete net classes. We show that several net classes, like place/transition nets, elementary nets, S-graphs, algebraic high-level net...
The definition of Extended ML: a gentle introduction
- THEORETICAL COMPUTER SCIENCE
, 1995
"... Extended ML (EML) is a framework for the formal development of modular Standard ML (SML) software systems. Development commences with a specification of the behaviour required and proceeds via a sequence of partial solutions until a complete solution, an executable SML program, is obtained. All s ..."
Abstract
-
Cited by 33 (12 self)
- Add to MetaCart
Extended ML (EML) is a framework for the formal development of modular Standard ML (SML) software systems. Development commences with a specification of the behaviour required and proceeds via a sequence of partial solutions until a complete solution, an executable SML program, is obtained. All stages in this development process are expressed in the EML language, an extension of SML with axioms for describing properties of module components. This is an overview of the formal definition of the EML language. To complement the full technical details presented elsewhere, it provides an informal explanation of the main ideas, gives the rationale for certain design decisions, and outlines some of the technical issues involved. EML is unusual in being built around a "real" programming language having a formally-defined syntax and semantics. Interesting and complex problems arise both from the nature of this relationship and from interactions between the features of the language.
Structured theory presentations and logic representations
- ANNALS OF PURE AND APPLIED LOGIC
, 1994
"... The purpose of a logical framework such as LF is to provide a language for defining logical systems suitable for use in a logic-independent proof development environment. All inferential activity in an object logic (in particular, proof search) is to be conducted in the logical framework via the ..."
Abstract
-
Cited by 14 (2 self)
- Add to MetaCart
The purpose of a logical framework such as LF is to provide a language for defining logical systems suitable for use in a logic-independent proof development environment. All inferential activity in an object logic (in particular, proof search) is to be conducted in the logical framework via the representation of that logic in the framework. An important tool for controlling search in an object logic, the need for which is motivated by the difficulty of reasoning about large and complex systems, is the use of structured theory presentations. In this paper a rudimentary language of structured theory presentations is presented, and the use of this structure in proof search for an arbitrary object logic is explored. The behaviour of structured theory presentations under representation in a logical framework is studied, focusing on the problem of "lifting" presentations from the object logic to the metalogic of the framework. The topic of imposing structure on logic presentations...
Structuring Specifications in-the-Large and in-the-Small: Higher-Order Functions, Dependent Types and Inheritance in SPECTRAL
- PROC. COLLOQ. ON COMBINING PARADIGMS FOR SOFTWARE DEVELOPMENT, JOINT CONF. ON THEORY AND PRACTICE OF SOFTWARE DEVELOPMENT (TAPSOFT
"... ..."
The Definition of Extended ML
, 1994
"... This document formally defines the syntax and semantics of the Extended ML language. It is based directly on the published semantics of Standard ML in an attempt to ensure compatibility between the two languages. LFCS, Department of Computer Science, University of Edinburgh, Edinburgh, Scotland. ..."
Abstract
-
Cited by 9 (4 self)
- Add to MetaCart
This document formally defines the syntax and semantics of the Extended ML language. It is based directly on the published semantics of Standard ML in an attempt to ensure compatibility between the two languages. LFCS, Department of Computer Science, University of Edinburgh, Edinburgh, Scotland. y Institute of Informatics, Warsaw University, and Institute of Computer Science, Polish Academy of Sciences, Warsaw, Poland. ii CONTENTS Contents 1 Introduction 1 1.1 Behavioural equivalence : : : : : : : : : : : : : : : : : : : : : : : : 3 1.2 Metalanguage : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3 2 Syntax of the Core 8 2.1 Reserved Words : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 8 2.2 Special constants : : : : : : : : : : : : : : : : : : : : : : : : : : : : 8 2.3 Comments : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 9 2.4 Identifiers : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 9 2.5 Lexical analysis : : : :...
Representations, Hierarchies, and Graphs of Institutions
, 1996
"... For the specification of abstract data types, quite a number of logical systems have been developed. In this work, we will try to give an overview over this variety. As a prerequisite, we first study notions of {\em representation} and embedding between logical systems, which are formalized as {\em ..."
Abstract
-
Cited by 5 (4 self)
- Add to MetaCart
For the specification of abstract data types, quite a number of logical systems have been developed. In this work, we will try to give an overview over this variety. As a prerequisite, we first study notions of {\em representation} and embedding between logical systems, which are formalized as {\em institutions} here. Different kinds of representations will lead to a looser or tighter connection of the institutions, with more or less good possibilities of faithfully embedding the semantics and of re-using proof support. In the second part, we then perform a detailed ``empirical'' study of the relations among various well-known institutions of total, order-sorted and partial algebras and first-order structures (all with Horn style, i.e.\ universally quantified conditional, axioms). We thus obtain a {\em graph} of institutions, with different kinds of edges according to the different kinds of representations between institutions studied in the first part. We also prove some separation results, leading to a {\em hierarchy} of institutions, which in turn naturally leads to five subgraphs of the above graph of institutions. They correspond to five different levels of expressiveness in the hierarchy, which can be characterized by different kinds of conditional generation principles. We introduce a systematic notation for institutions of total, order-sorted and partial algebras and first-order structures. The notation closely follows the combination of features that are present in the respective institution. This raises the question whether these combinations of features can be made mathematically precise in some way. In the third part, we therefore study the combination of institutions with the help of so-called parchments (which are certain algebraic presentations of institutions) and parchment morphisms. The present book is a revised version of the author's thesis, where a number of mathematical problems (pointed out by Andrzej Tarlecki) and a number of misuses of the English language (pointed out by Bernd Krieg-Br\"uckner) have been corrected. Also, the syntax of specifications has been adopted to that of the recently developed Common Algebraic Specification Language {\sc Casl} \cite{CASL/Summary,Mosses97TAPSOFT}.

