Pattern matching has proved an extremely powerful and durable notion in functional programming. This paper contributes a new programming notation for type theory which elaborates the notion in various ways. First, as is by now quite well-known in the type theory community, definition by pattern matching becomes a more discriminating tool in the presence of dependent types, since it refines the explanation of types as well as values. This becomes all the more true in the presence of the rich class of datatypes known as inductive families (Dybjer, 1991). Secondly, as proposed by Peyton Jones (1997) for Haskell, and independently rediscovered by us, subsidiary case analyses on the results of intermediate computations, which commonly take place...
Types express a program's meaning, and checking types ensures that a program has the intended meanin...
We study the type inference problem for a system with type classes as in the functional programming ...
Bidirectional typechecking, in which terms either synthesize a type or are checked against a known t...
Static typing is one of the most prominent techniques in the design of programming languages for mak...
The theory of programming with pattern-matching function definitions has been studied mainly in the ...
AbstractThe theory of programming with pattern-matching function definitions has been studied mainly...
This paper gives a reduction-preserving translation from Coquand's dependent pattern matching [4] in...
Language designers have in recent years proposed a wealth of richer type systems for programming whi...
This thesis studies questions of type inference, unification and elaboration for languages that comb...
This thesis studies questions of type inference, unification and elaboration for languages that comb...
Research in dependent type theories [ML71a] has, in the past, concentrated on its use in the present...
Abstract. This paper gives a reduction-preserving translation from Coquand’s dependent pattern match...
The definition of type equivalence is one of the most important design issues for any typed language...
We study the type inference problem for a system with type classes as in the functional programming ...
This thesis is about Martin-Löf’s intuitionistic theory of types (type theory). Type theory is at t...
Types express a program's meaning, and checking types ensures that a program has the intended meanin...
We study the type inference problem for a system with type classes as in the functional programming ...
Bidirectional typechecking, in which terms either synthesize a type or are checked against a known t...
Static typing is one of the most prominent techniques in the design of programming languages for mak...
The theory of programming with pattern-matching function definitions has been studied mainly in the ...
AbstractThe theory of programming with pattern-matching function definitions has been studied mainly...
This paper gives a reduction-preserving translation from Coquand's dependent pattern matching [4] in...
Language designers have in recent years proposed a wealth of richer type systems for programming whi...
This thesis studies questions of type inference, unification and elaboration for languages that comb...
This thesis studies questions of type inference, unification and elaboration for languages that comb...
Research in dependent type theories [ML71a] has, in the past, concentrated on its use in the present...
Abstract. This paper gives a reduction-preserving translation from Coquand’s dependent pattern match...
The definition of type equivalence is one of the most important design issues for any typed language...
We study the type inference problem for a system with type classes as in the functional programming ...
This thesis is about Martin-Löf’s intuitionistic theory of types (type theory). Type theory is at t...
Types express a program's meaning, and checking types ensures that a program has the intended meanin...
We study the type inference problem for a system with type classes as in the functional programming ...
Bidirectional typechecking, in which terms either synthesize a type or are checked against a known t...