Most dependently-typed programming languages either require that all expressions terminate (e.g. Coq, Agda, and Epigram), or allow infinite loops but are inconsistent when viewed as logics (e.g. Haskell, ATS, mega). Here, we combine these two approaches into a single dependently-typed core language. The language is composed of two fragments that share a common syntax and overlapping semantics: a logic that guarantees total correctness, and a call-by-value programming language that guarantees type safety but not termination. The two fragments may interact: logical expressions may be used as programs; the logic may soundly reason about potentially nonterminating programs; programs can require logical proofs as arguments; and “mobile” program ...
The definition of type equivalence is one of the most important design issues for any typed language...
Dependent types can be used to capture useful properties about programs at compile time. However, de...
We propose a full-spectrum dependently typed programming language, Zombie, which supports general re...
Most dependently-typed programming languages either require that all expressions terminate (e.g. Coq...
Most dependently-typed programming languages either require that all expressions terminate (e.g. Coq...
Programming languages based on dependent type theory promise two great advances: flexibility and sec...
Dependently typed languages allow us to develop programs and write proofs quickly and without errors...
We propose a full-spectrum dependently typed programming language, Zombie, which supports general re...
Dependently typed programming languages provide a way to write programs, specifications, and correct...
In these lecture notes we give an introduction to functional programming with dependent types. We us...
Types express a program's meaning, and checking types ensures that a program has the intended meanin...
This paper presents a dependently-typed programming language that uses an adaptation of a congruence...
Most existing programming languages provide little support to formally state and prove properties ab...
This paper presents the design of ZOMBIE, a dependently-typed programming language that uses an adap...
We define a dependent programming language in which program-mers can define and compute with domain-...
The definition of type equivalence is one of the most important design issues for any typed language...
Dependent types can be used to capture useful properties about programs at compile time. However, de...
We propose a full-spectrum dependently typed programming language, Zombie, which supports general re...
Most dependently-typed programming languages either require that all expressions terminate (e.g. Coq...
Most dependently-typed programming languages either require that all expressions terminate (e.g. Coq...
Programming languages based on dependent type theory promise two great advances: flexibility and sec...
Dependently typed languages allow us to develop programs and write proofs quickly and without errors...
We propose a full-spectrum dependently typed programming language, Zombie, which supports general re...
Dependently typed programming languages provide a way to write programs, specifications, and correct...
In these lecture notes we give an introduction to functional programming with dependent types. We us...
Types express a program's meaning, and checking types ensures that a program has the intended meanin...
This paper presents a dependently-typed programming language that uses an adaptation of a congruence...
Most existing programming languages provide little support to formally state and prove properties ab...
This paper presents the design of ZOMBIE, a dependently-typed programming language that uses an adap...
We define a dependent programming language in which program-mers can define and compute with domain-...
The definition of type equivalence is one of the most important design issues for any typed language...
Dependent types can be used to capture useful properties about programs at compile time. However, de...
We propose a full-spectrum dependently typed programming language, Zombie, which supports general re...