Restricting destructive update to values of a distinguished reference type prevents functions from being polymorphic in the mutability of their arguments. This restriction makes it easier to reason about program behaviour during transformation, but the lack of polymorphism reduces the expressiveness of the language. We present a System-F style core language that uses dependently kinded proof witnesses to encode information about the mutability of values and the purity of computations. We support mixed strict and lazy evaluation, and use our type system to ensure that only computations without visible side effects are suspended
There has long been speculation in the scientific literature on how to dynamically enforce parametri...
Abstract. Proof-Carrying Code (PCC) is a general framework for verifying the safety properties of ma...
Formal verification of real-world software systems remains challenging for a number of reasons, incl...
Abstract. Restricting destructive update to values of a distinguished reference type prevents functi...
Most type systems that support polymorphic functions are based on a version of System-F. We argue th...
Most type systems that support polymorphic functions are based on a version of System-F. We argue th...
We present a safe embedding of mutable data structures in functional languages. With safety we mean ...
The interactive verification system VeriFun is based on a polymorphic call-by-value functional langu...
Polymorphism is an important language feature, allowing generic code to operate on many different ty...
International audienceWe present a new, completely redesigned, version of F*, a language that works ...
We explore partial type-inference for System F based on type-containment. We consider both cases of ...
Simple, partial type-inference for System F based on type-containment We explore partial type-infere...
A certified binary is a value together with a proof that the value satisfies a given specification. ...
The dependency core calculus (DCC) is a framework for studying a variety of dependency analyses (e.g...
The standard formulation of bounded quantification, system F , is difficult to work with and lacks i...
There has long been speculation in the scientific literature on how to dynamically enforce parametri...
Abstract. Proof-Carrying Code (PCC) is a general framework for verifying the safety properties of ma...
Formal verification of real-world software systems remains challenging for a number of reasons, incl...
Abstract. Restricting destructive update to values of a distinguished reference type prevents functi...
Most type systems that support polymorphic functions are based on a version of System-F. We argue th...
Most type systems that support polymorphic functions are based on a version of System-F. We argue th...
We present a safe embedding of mutable data structures in functional languages. With safety we mean ...
The interactive verification system VeriFun is based on a polymorphic call-by-value functional langu...
Polymorphism is an important language feature, allowing generic code to operate on many different ty...
International audienceWe present a new, completely redesigned, version of F*, a language that works ...
We explore partial type-inference for System F based on type-containment. We consider both cases of ...
Simple, partial type-inference for System F based on type-containment We explore partial type-infere...
A certified binary is a value together with a proof that the value satisfies a given specification. ...
The dependency core calculus (DCC) is a framework for studying a variety of dependency analyses (e.g...
The standard formulation of bounded quantification, system F , is difficult to work with and lacks i...
There has long been speculation in the scientific literature on how to dynamically enforce parametri...
Abstract. Proof-Carrying Code (PCC) is a general framework for verifying the safety properties of ma...
Formal verification of real-world software systems remains challenging for a number of reasons, incl...