[图书][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 …

Dependently-Typed Programming with Logical Equality Reflection

Y Liu, S Weirich - Proceedings of the ACM on Programming Languages, 2023 - dl.acm.org
In dependently-typed functional programming languages that allow general recursion,
programs used as proofs must be evaluated to retain type soundness. As a result …

Higher-order type-level programming in Haskell

C Kiss, T Field, S Eisenbach… - Proceedings of the ACM on …, 2019 - dl.acm.org
Type family applications in Haskell must be fully saturated. This means that all type-level
functions have to be first-order, leading to code that is both messy and longwinded. In this …

Generic zero-cost reuse for dependent types

L Diehl, D Firsov, A Stump - Proceedings of the ACM on Programming …, 2018 - dl.acm.org
Dependently typed languages are well known for having a problem with code reuse.
Traditional non-indexed algebraic datatypes (eg lists) appear alongside a plethora of …

A role for dependent types in Haskell

S Weirich, P Choudhury, A Voizard… - Proceedings of the ACM …, 2019 - dl.acm.org
Modern Haskell supports zero-cost coercions, a mechanism where types that share the
same run-time representation may be freely converted between. To make sure such …

The thoralf plugin: For your fancy type needs

D Otwani, RA Eisenberg - Proceedings of the 11th ACM SIGPLAN …, 2018 - dl.acm.org
Many fancy types (eg, generalized algebraic data types, type families) require a type
checker plugin. These fancy types have a type index (eg, type level natural numbers) with an …

Seeking stability by being lazy and shallow: Lazy and shallow instantiation is user friendly

GJ Bottu, RA Eisenberg - Proceedings of the 14th ACM SIGPLAN …, 2021 - dl.acm.org
Designing a language feature often requires a choice between several, similarly expressive
possibilities. Given that user studies are generally impractical, we propose using stability as …

Kinds are calling conventions

P Downen, ZM Ariola, S Peyton Jones… - Proceedings of the ACM …, 2020 - dl.acm.org
A language supporting polymorphism is a boon to programmers: they can express complex
ideas once and reuse functions in a variety of situations. However, polymorphism is pain for …

Monotone recursive types and recursive data representations in Cedille

C Jenkins, A Stump - Mathematical Structures in Computer Science, 2021 - cambridge.org
Guided by Tarksi's fixpoint theorem in order theory, we show how to derive monotone
recursive types with constant-time roll and unroll operations within Cedille, an impredicative …

Stitch: the sound type-indexed type checker (Functional Pearl)

RA Eisenberg - Proceedings of the 13th ACM SIGPLAN International …, 2020 - dl.acm.org
A classic example of the power of generalized algebraic datatypes (GADTs) to verify a
delicate implementation is the type-indexed expression AST. This functional pearl refreshes …