Results 1  10
of
69
Accomplishments and Research Challenges in MetaProgramming
 In 2nd Int. Workshop on Semantics, Applications, and Implementation of Program Generation, LNCS 2196
, 2000
"... this paper into several sections. As an overview, in Section 2, I try and classify metaprograms into groups. The purpose of this is to provide a common vocabulary which we can use to describe metaprogramming systems in the rest of the paper ..."
Abstract

Cited by 71 (7 self)
 Add to MetaCart
this paper into several sections. As an overview, in Section 2, I try and classify metaprograms into groups. The purpose of this is to provide a common vocabulary which we can use to describe metaprogramming systems in the rest of the paper
Executing higher order logic
 In Proc. TYPES Working Group Annual Meeting 2000, LNCS
, 2002
"... Abstract. We report on the design of a prototyping component for the theorem prover Isabelle/HOL. Specifications consisting of datatypes, recursive functions and inductive definitions are compiled into a functional program. Functions and inductively defined relations can be mixed. Inductive definiti ..."
Abstract

Cited by 48 (17 self)
 Add to MetaCart
Abstract. We report on the design of a prototyping component for the theorem prover Isabelle/HOL. Specifications consisting of datatypes, recursive functions and inductive definitions are compiled into a functional program. Functions and inductively defined relations can be mixed. Inductive definitions must be such that they can be executed in Prolog style but requiring only matching rather than unification. This restriction is enforced by a mode analysis. Tail recursive partial functions can be defined and executed with the help of a while combinator. 1
A Tactic Language for the System Coq
 Proceedings of Logic for Programming and Automated Reasoning (LPAR), Reunion Island, volume 1955 of LNCS
, 2000
"... ..."
Proof Terms for Simply Typed Higher Order Logic
 IN THEOREM PROVING IN HIGHER ORDER LOGICS, 13TH INTERNATIONAL CONFERENCE, VOLUME 1869 OF LNCS
, 2000
"... This paper presents proof terms for simply typed, intuitionistic higher order logic, a popular logical framework. Unificationbased algorithms for the compression and reconstruction of proof terms are described and have been implemented in the theorem prover Isabelle. Experimental results confir ..."
Abstract

Cited by 34 (8 self)
 Add to MetaCart
This paper presents proof terms for simply typed, intuitionistic higher order logic, a popular logical framework. Unificationbased algorithms for the compression and reconstruction of proof terms are described and have been implemented in the theorem prover Isabelle. Experimental results confirm the effectiveness of the compression scheme.
Distributed Directory Service and Message Routing for Mobile Agents
 Science of Computer Programming
, 1999
"... Research about networks and agents has identied the need for a layer that provides a uniform protocol to communicate with xed and mobile agents. In order to preserve the compatibility with existing infrastructures, proposed solutions have involved a \home agent", which forwards messages to a mobi ..."
Abstract

Cited by 26 (10 self)
 Add to MetaCart
Research about networks and agents has identied the need for a layer that provides a uniform protocol to communicate with xed and mobile agents. In order to preserve the compatibility with existing infrastructures, proposed solutions have involved a \home agent", which forwards messages to a mobile entity. The mechanism of a home agent puts a burden on the infrastructure, which may hamper the scalability of the approach, in particular, in massively distributed systems, such as the amorphous computer or the ubiquitous/pervasive computing environment. Free from any compatibility constraint, we have designed an algorithm to route messages to mobile agents that does not require any xed location. The algorithm has two dierent facets: a distributed directory service that maintains distributed information about the location of a mobile agent, and a message router that uses the directory service to deliver messages to a mobile agent. Two properties of the algorithm were establi...
A module calculus for Pure Type Systems
, 1996
"... Several proofassistants rely on the very formal basis of Pure Type Systems. However, some practical issues raised by the development of large proofs lead to add other features to actual implementations for handling namespace management, for developing reusable proof libraries and for separate verif ..."
Abstract

Cited by 23 (3 self)
 Add to MetaCart
Several proofassistants rely on the very formal basis of Pure Type Systems. However, some practical issues raised by the development of large proofs lead to add other features to actual implementations for handling namespace management, for developing reusable proof libraries and for separate verification of distincts parts of large proofs. Unfortunately, few theoretical basis are given for these features. In this paper we propose an extension of Pure Type Systems with a module calculus adapted from SMLlike module systems for programming languages. Our module calculus gives a theoretical framework addressing the need for these features. We show that our module extension is conservative, and that type inference in the module extension of a given PTS is decidable under some hypotheses over the considered PTS.
A framework for extended algebraic data types
 In Proc. of FLOPS’06, volume 3945 of LNCS
, 2006
"... Abstract. There are a number of extended forms of algebraic data types such as type classes with existential types and generalized algebraic data types. Such extensions are highly useful but their interaction has not been studied formally so far. Here, we present a unifying framework for these exten ..."
Abstract

Cited by 22 (9 self)
 Add to MetaCart
Abstract. There are a number of extended forms of algebraic data types such as type classes with existential types and generalized algebraic data types. Such extensions are highly useful but their interaction has not been studied formally so far. Here, we present a unifying framework for these extensions. We show that the combination of type classes and generalized algebraic data types allows us to express a number of interesting properties which are desired by programmers. We support type checking based on a novel constraint solver. Our results show that our system is practical and greatly extends the expressive power of languages such as Haskell and ML. 1
What's in Unison? A Formal Specification and Reference Implementation of a File Synchronizer
, 2004
"... A file synchronizer is a tool that reconciles disconnected modifications to a replicated directory structure. Trustworthy ..."
Abstract

Cited by 18 (8 self)
 Add to MetaCart
A file synchronizer is a tool that reconciles disconnected modifications to a replicated directory structure. Trustworthy
A Tutorial on Recursive Types in Coq
, 1996
"... Contents 1 Recursive Types and Case Analysis 2 1.1 The predecessor function : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3 1.2 The empty type : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 4 1.3 The singleton type : : : : : : : : : : : : : : : ..."
Abstract

Cited by 14 (1 self)
 Add to MetaCart
Contents 1 Recursive Types and Case Analysis 2 1.1 The predecessor function : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3 1.2 The empty type : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 4 1.3 The singleton type : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 5 1.4 Families of Recursive Types : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 5 1.5 The propositional equality type : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 6 2 Discrimination of introduction rules 7 3 Injectivity of introduction rules 8 4 Case Analysis and Propositional Equality 9 5 Positive Recursive Types 12 5.1 Mutually Dependent Declarations : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 14 5.2 Impredicative Recursive Types : : : : : : : : : : : : : : : : : :
μJava: Embedding a Programming Language in a Theorem Prover
 Foundations of Secure Computation, volume 175 of NATO Science Series F: Computer and Systems Sciences
, 2000
"... . This paper introduces the subset Java of Java, essentially by omitting everything but classes. The type system and semantics of this language (and a corresponding abstract Machine JVM) are formalized in the theorem prover Isabelle/HOL. Type safety both of Java and the JVM are mechanically veri ..."
Abstract

Cited by 13 (0 self)
 Add to MetaCart
. This paper introduces the subset Java of Java, essentially by omitting everything but classes. The type system and semantics of this language (and a corresponding abstract Machine JVM) are formalized in the theorem prover Isabelle/HOL. Type safety both of Java and the JVM are mechanically verified. To make the paper selfcontained, it begins with introductions to Isabelle/HOL and the art of embedding languages in theorem provers. 1 Introduction Embedding a programming language in a theorem prover means to describe (parts of) the language in the logic of the theorem prover, for example the abstract syntax, the semantics, the type system, a Hoare logic, a compiler, etc. One could call this applied machinechecked semantics. Why should we want to do this? We have to distinguish two possible applications: ffl Proving theorems about programs. This is usually called program analysis or verification and will not concern us very much in this paper. ffl Proving theorems about the pr...