Results 1  10
of
19
A theory of contracts for web services
 In POPL ’08, 35th ACM Symposium on Principles of Programming Languages
, 2008
"... Contracts are behavioral descriptions of Web services. We devise a theory of contracts that formalizes the compatibility of a client to a service, and the safe replacement of a service with another service. The use of contracts statically ensures the successful completion of every possible interacti ..."
Abstract

Cited by 56 (4 self)
 Add to MetaCart
(Show Context)
Contracts are behavioral descriptions of Web services. We devise a theory of contracts that formalizes the compatibility of a client to a service, and the safe replacement of a service with another service. The use of contracts statically ensures the successful completion of every possible interaction between compatible clients and services. The technical device that underlies the theory is the filter, which is an explicit coercion preventing some possible behaviors of services and, in doing so, make services compatible with different usage scenarios. We show that filters can be seen as proofs of a sound and complete subcontracting deduction system which simultaneously refines and extends Hennessy’s classical axiomatization of the must testing preorder. The relation is decidable and the decision algorithm is obtained via a cutelimination process that proves the coherence of subcontracting as a logical system. Despite the richness of the technical development, the resulting approach is based on simple ideas and basic intuitions. Remarkably, its application is mostly independent of the language used to program the services or the clients. We outline the practical aspects of our theory by studying two different concrete syntaxes for contracts and applying each of them to Web services languages. We also explore implementation issues of filters and discuss the perspectives of future research
A content based mathematical search engine: whelp
 In: Postproceedings of the Types 2004 International Conference, Vol. 3839 of LNCS
, 2004
"... Abstract. The prototype of a content based search engine for mathematical knowledge supporting a small set of queries requiring matching and/or typing operations is described. The prototype — called Whelp — exploits a metadata approach for indexing the information that looks far more flexible than t ..."
Abstract

Cited by 20 (9 self)
 Add to MetaCart
(Show Context)
Abstract. The prototype of a content based search engine for mathematical knowledge supporting a small set of queries requiring matching and/or typing operations is described. The prototype — called Whelp — exploits a metadata approach for indexing the information that looks far more flexible than traditional indexing techniques for structured expressions like substitution, discrimination, or context trees. The prototype has been instantiated to the standard library of the Coq proof assistant extended with many user contributions. 1
Inferring Type Isomorphisms Generically
 Proceedings of the 7th International Conference on Mathematics of Program Construction, MPC 2004, volume 3125 of LNCS
"... Datatypes which di#er inessentially in their names and structure are said to be isomorphic; for example, a ternary product is isomorphic to a nested pair of binary products. In some canonical cases, the conversion function is uniquely determined solely by the two types involved. ..."
Abstract

Cited by 11 (7 self)
 Add to MetaCart
(Show Context)
Datatypes which di#er inessentially in their names and structure are said to be isomorphic; for example, a ternary product is isomorphic to a nested pair of binary products. In some canonical cases, the conversion function is uniquely determined solely by the two types involved.
Raising ML to the Power of System F
 In ICFP ’03: Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
, 2003
"... We propose a type system MLF that generalizes ML with firstclass polymorphism as in System F. We perform partial type reconstruction. As in ML and in opposition to System F, each typable expression admits a principal type, which can be inferred. Furthermore, all expressions of ML are welltyped, wi ..."
Abstract

Cited by 10 (0 self)
 Add to MetaCart
We propose a type system MLF that generalizes ML with firstclass polymorphism as in System F. We perform partial type reconstruction. As in ML and in opposition to System F, each typable expression admits a principal type, which can be inferred. Furthermore, all expressions of ML are welltyped, with a possibly more general type than in ML, without any need for type annotation. Only arguments of functions that are used polymorphically must be annotated, which allows to type all expressions of System F as well.
Efficient Retrieval of Mathematical Statements
 In Proceeding of the Third International Conference on Mathematical Knowledge Management, MKM 2004. Bialowieza, Poland. LNCS 3119
, 2004
"... Abstract. The paper describes an innovative technique for efficient retrieval of mathematical statements from large repositories, developing and substantially improving the metadatabased approach introduced in [13]. 1 ..."
Abstract

Cited by 8 (2 self)
 Add to MetaCart
(Show Context)
Abstract. The paper describes an innovative technique for efficient retrieval of mathematical statements from large repositories, developing and substantially improving the metadatabased approach introduced in [13]. 1
From Proof Normalization to Compiler Generation and TypeDirected ChangeofRepresentation
, 1997
"... The main part of this thesis is a synthesis of considerations from Type Theory, Mathematical Logic/Proof Theory, and (Denotational) Semantics to perform various automatic program transformations ranging from normalization over currying and coercioninsertion to compiler derivation. At the core of o ..."
Abstract

Cited by 7 (1 self)
 Add to MetaCart
The main part of this thesis is a synthesis of considerations from Type Theory, Mathematical Logic/Proof Theory, and (Denotational) Semantics to perform various automatic program transformations ranging from normalization over currying and coercioninsertion to compiler derivation. At the core of our technique we have what has been described as "An Inverse of the Evaluation Functional for Typed calculus" [7]. It is essentially typedirected jexpansion followed by fireduction on certain terms. Quite independently of [7], jexpansion has been studied for its use in Partial Evaluation, where among other things it has been used to obtain a onepass CPStransformer [20]. It is some of the consequences of this coincidence [19] that are described in the following. Our approach will be purely syntactical and it is hoped that it marks a simplification on earlier treatments of the materiel. We have tried presenting the materiel based purely on the standard reduction properties for the simpl...
Deciding Isomorphisms of Simple Types in Polynomial Time
, 2000
"... The isomorphisms holding in all models of the simply typed lambda calculus with surjective and terminal objects are well studied  these models are exactly the Cartesian closed categories. Isomorphism of two simple types in such a model is decidable by reduction to a normal form and comparison under ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
The isomorphisms holding in all models of the simply typed lambda calculus with surjective and terminal objects are well studied  these models are exactly the Cartesian closed categories. Isomorphism of two simple types in such a model is decidable by reduction to a normal form and comparison under a nite number of permutations (Bruce, Di Cosmo, and Longo 1992). Unfortunately, these normal forms may be exponentially larger than the original types so this construction decides isomorphism in exponential time. We show how using spacesharing/hashconsing techniques and memoization can be used to decide isomorphism in practical polynomial time (low degree, small hidden constant). Other researchers have investigated simple type isomorphism in relation to, among other potential applications, typebased retrieval of software modules from libraries and automatic generation of bridge code for multilanguage systems. Our result makes such potential applications practically feasible. 1
Retractions of types with many atoms
, 2001
"... We dene a sound and complete proof system for aÆne retractions in simple types (built over many atoms), and we state a necessary condition for arbitrary retractions in simple types. We also show a simple necessary condition for polymorphic retractability and we disprove an earlier conjecture abou ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
(Show Context)
We dene a sound and complete proof system for aÆne retractions in simple types (built over many atoms), and we state a necessary condition for arbitrary retractions in simple types. We also show a simple necessary condition for polymorphic retractability and we disprove an earlier conjecture about a stronger necessary condition. 1
A verified framework for higherorder uncurrying optimizations
 HIGHERORDER AND SYMBOLIC COMPUTATION
"... ..."
Customizing an XML–Haskell data binding with type isomorphism inference in Generic Haskell
"... Customizing an XML–Haskell data binding ..."
(Show Context)