We present an approach to support partiality in type-level computation without compromising expressiveness or type safety. Existing frameworks for type-level computation either require totality or implicitly assume it. For example, type families in Haskell provide a powerful, modular means of defining type-level computation. However, their current design implicitly assumes that type families are total, introducing nonsensical types and significantly complicating the metatheory of type families and their extensions. We propose an alternative design, using qualified types to pair type-level computations with predicates that capture their domains. Our approach naturally captures the intuitive partiality of type families, simplifying their meta...
Open, type-level functions are a recent innovation in Haskell that move Haskell towards the expressi...
Open, type-level functions are a recent innovation in Haskell that move Haskell towards the expressi...
Programming languages based on dependent type theory promise two great advances: flexibility and sec...
We present an approach to support partiality in type-level computation without compromising expressi...
This work is licensed under a Creative Commons Attribution 4.0 International License.Functional prog...
Type classes and type families are key ingredients in Haskell pro-gramming. Type classes were introd...
System FC, the core language of the Glasgow Haskell Compiler, is an explicitly-typed variant of Syst...
Type family applications in Haskell must be fully saturated. This means that all type-level function...
System FC, the core language of the Glasgow Haskell Compiler, is an explicitly-typed variant of Syst...
Open, type-level functions are a recent innovation in Haskell that move Haskell towards the expressi...
Haskell, as implemented in the Glasgow Haskell Compiler (GHC), is enriched with many extensions that...
System FC, the core language of the Glasgow Haskell Compiler, is an explicitly-typed variant of Syst...
Haskell, as implemented by the Glasgow Haskell Compiler (GHC), allows expressive type-level programm...
Haskell, as implemented in the Glasgow Haskell Compiler (GHC), is enriched with many extensions that...
Haskell, as implemented by the Glasgow Haskell Compiler (GHC), allows expressive type-level programm...
Open, type-level functions are a recent innovation in Haskell that move Haskell towards the expressi...
Open, type-level functions are a recent innovation in Haskell that move Haskell towards the expressi...
Programming languages based on dependent type theory promise two great advances: flexibility and sec...
We present an approach to support partiality in type-level computation without compromising expressi...
This work is licensed under a Creative Commons Attribution 4.0 International License.Functional prog...
Type classes and type families are key ingredients in Haskell pro-gramming. Type classes were introd...
System FC, the core language of the Glasgow Haskell Compiler, is an explicitly-typed variant of Syst...
Type family applications in Haskell must be fully saturated. This means that all type-level function...
System FC, the core language of the Glasgow Haskell Compiler, is an explicitly-typed variant of Syst...
Open, type-level functions are a recent innovation in Haskell that move Haskell towards the expressi...
Haskell, as implemented in the Glasgow Haskell Compiler (GHC), is enriched with many extensions that...
System FC, the core language of the Glasgow Haskell Compiler, is an explicitly-typed variant of Syst...
Haskell, as implemented by the Glasgow Haskell Compiler (GHC), allows expressive type-level programm...
Haskell, as implemented in the Glasgow Haskell Compiler (GHC), is enriched with many extensions that...
Haskell, as implemented by the Glasgow Haskell Compiler (GHC), allows expressive type-level programm...
Open, type-level functions are a recent innovation in Haskell that move Haskell towards the expressi...
Open, type-level functions are a recent innovation in Haskell that move Haskell towards the expressi...
Programming languages based on dependent type theory promise two great advances: flexibility and sec...