Bidirectional ty**
J Dunfield, N Krishnaswami - ACM Computing Surveys (CSUR), 2021 - dl.acm.org
Bidirectional ty** combines two modes of ty**: type checking, which checks that a
program satisfies a known type, and type synthesis, which determines a type from the …
program satisfies a known type, and type synthesis, which determines a type from the …
CakeML: a verified implementation of ML
We have developed and mechanically verified an ML system called CakeML, which
supports a substantial subset of Standard ML. CakeML is implemented as an interactive …
supports a substantial subset of Standard ML. CakeML is implemented as an interactive …
Idris, a general-purpose dependently typed programming language: Design and implementation
E Brady - Journal of functional programming, 2013 - cambridge.org
Many components of a dependently typed programming language are by now well
understood, for example, the underlying type theory, type checking, unification and …
understood, for example, the underlying type theory, type checking, unification and …
Lem: reusable engineering of real-world semantics
Recent years have seen remarkable successes in rigorous engineering: using
mathematically rigorous semantic models (not just idealised calculi) of real-world …
mathematically rigorous semantic models (not just idealised calculi) of real-world …
A specification for dependent types in Haskell
We propose a core semantics for Dependent Haskell, an extension of Haskell with full-
spectrum dependent types. Our semantics consists of two related languages. The first is a …
spectrum dependent types. Our semantics consists of two related languages. The first is a …
Scopes as types
Scope graphs are a promising generic framework to model the binding structures of
programming languages, bridging formalization and implementation, supporting the …
programming languages, bridging formalization and implementation, supporting the …
[BOOK][B] Dependent types in haskell: Theory and practice
RA Eisenberg - 2016 - search.proquest.com
Haskell, as implemented in the Glasgow Haskell Compiler (GHC), has been adding new
type-level programming features for some time. Many of these features—generalized …
type-level programming features for some time. Many of these features—generalized …
A quick look at impredicativity
Type inference for parametric polymorphism is wildly successful, but has always suffered
from an embarrassing flaw: polymorphic types are themselves not first class. We present …
from an embarrassing flaw: polymorphic types are themselves not first class. We present …
Elaborator reflection: extending Idris in Idris
Many programming languages and proof assistants are defined by elaboration from a high-
level language with a great deal of implicit information to a highly explicit core language. In …
level language with a great deal of implicit information to a highly explicit core language. In …
Visible type application
Abstract The Hindley-Milner (HM) type system automatically infers the types at which
polymorphic functions are used. In HM, the inferred types are unambiguous, and every …
polymorphic functions are used. In HM, the inferred types are unambiguous, and every …