A Kind System for Typed Machine Language
نویسندگان
چکیده
One of the aims of Foundational Proof-Carrying Code (FPCC) is to incorporate a completely semantic description of types into the Proof-Carrying Code framework. FPCC describes types as complex predicates, some of which require properties like contractiveness, representability, and extensionality to hold. We keep track of these properties by encoding them within kinds. In this paper, we give a syntactic kinding system with semantic proofs.
منابع مشابه
Implementing Polymorphic Typing in a Logic Programming Language
Introducing types into a logic programming language leads to the need for typed uniication within the computation model. In the presence of polymorphism and higher-order features, this aspect forces analysis of types at run-time. We propose extensions to the Warren Abstract Machine (WAM) that permit such analysis to be done with reasonable eeciency. Much information about the structures of type...
متن کاملA bigraphical model of the simply typed λ-calculus
We present a model of the simply typed λ-calculus as a simply typed explicit substitution calculus encoded in a bigraphical reactive system. The reactive system combines a previous model by Milner with a sorting of the place graph structure which is defined using a generalisation of our previous work on kind sortings. The model demonstrates the expressiveness of these sortings. We identify some...
متن کاملSharing in Typed Module Assembly Language
There is a growing need to provide low-overhead software-based protection mechanisms to protect against malicious or untrusted code. Type-based approaches such as proof-carrying code and typed assembly language provide this protection by relying on untrusted compilers to certify the safety properties of machine language programs. Typed Module Assembly Language (TMAL) is an extension of typed as...
متن کاملType checking and normalisation
This thesis is about Martin-Löf’s intuitionistic theory of types (type theory). Type theory is at the same time a formal system for mathematical proof and a dependently typed programming language. Dependent types are types which depend on data and therefore to type check dependently typed programming we need to perform computation (normalisation) in types. Implementations of type theory (usuall...
متن کاملPractical Optional Types for Clojure
Typed Clojure is an optional type system for Clojure, a dynamic language in the Lisp family that targets the JVM. Typed Clojure’s type system build on the design of Typed Racket, repurposing in particular occurrence typing, an approach to statically reasoning about predicate tests. However, in adapting the type system to Clojure, changes and extensions are required to accommodate additional lan...
متن کامل