Corpus ID: 235446313

Introducing Type Properties

  title={Introducing Type Properties},
  author={Aziz Akhmedkhodjaev},
In type theory, we can express many practical ideas by attributing some additional data to expressions we operate on during compilation. For instance, some substructural type theories augment variables’ typing judgments with the information of their usage. That is, they allow one to explicitly state how many times — 0, 1, or many — a variable can be used. This solves the problem of resource usage control and allows us to treat variables as resources. What’s more, it often happens that this… Expand


Why dependent types matter
This talk will explore some of the possibilities and challenges afforded by full spectrum type dependency at the static and dynamic level, and suggest a style of programming embracing 'learning by testing, views, and Burstall's 'hand simulation plus a little induction'. Expand
Bounded Linear Types in a Resource Semiring
This paper introduces a bounded linear typing discipline on a general notion of resource which can be modeled in a semiring, and provides both a general type-inference procedure and a coherent categorical semantics for this type system. Expand
Implementing Haskell overloading
A number of ways to improve the speed of Haskell overloading are described, none of which are particularly exciting or complicated, but taken together they may give an order of magnitude speedup for some programs using overloading. Expand
RustBelt: securing the foundations of the Rust programming language
This paper gives the first formal (and machine-checked) safety proof for a language representing a realistic subset of Rust, and is extensible in the sense that, for each new Rust library that uses unsafe features, it can say what verification condition it must satisfy in order to be deemed a safe extension to the language. Expand
Syntax and Semantics of Quantitative Type Theory
This work presents Quantitative Type Theory, a Type Theory that records usage information for each variable in a judgement, based on a previous system by McBride, and defines the semantics in terms of Quantitative Categories with families, a novel extension of Categories with Families for modelling resource sensitive type theories. Expand
Report on the programming language Haskell: a non-strict, purely functional language version 1.2
"Some half dozen persons have written technically on combinatory logic, and most of these, including ourselves, have published something erroneous. Since some of our fellow sinners are among the mostExpand
Interprocedural constant propagation: an empirical study
An aggressive interprocedural constant propagation algorithm, such as the one implemented in this optimizer, can find many constants to propagate into procedures in scientific FORTRAN applications. Expand
The Association for Computing Machinery
As the Association for Computing Machinery enters a new phase of its existence, it seems befitting to review, briefly, the conditions in the computing field just prior to its organization and theExpand
The power of Pi
This paper exhibits the power of programming with dependent types by dint of embedding three domain-specific languages: Cryptol, a language for cryptographic protocols; a small data descriptionExpand
Gentle Introduction to Dependent Types with Idris
  • 2018