Haskell is an influential functional programming language with an advanced type system that is capable of detecting many bugs. In some cases, the Glasgow Haskell Compiler (GHC), the de facto standard compiler of Haskell, is more powerful than the Haskell programming language itself. It has the capability to do things programmers cannot do using the language because of safety reasons. We refer to this functionality as Haskell's hidden powers. We safely expose the following three hidden powers to Haskell programmers that were previously unavailable or only available with less safety guarantees. We expose the hidden power of unification variables, which are used to discover unknown types during type inference, by developing partial type signat...
Haskell, as implemented in the Glasgow Haskell Compiler (GHC), has been adding new type-level progra...
Protecting data confidentiality and integrity has become increasingly important in modern software. ...
The use of typed intermediate languages can significantly increase the reliability of a compiler. By...
© 2017 Copyright held by the owner/author(s). Meta-programs are programs that generate other program...
Meta-programs are programs that generate other programs, but in weakly type-safe systems, type-check...
AbstractThe use of typed intermediate languages can significantly increase the reliability of a comp...
In Haskell, programmers have a binary choice between omitting the type signature (and relying on typ...
Modern programs in languages like Haskell include a lot of information beyond what is strictly requi...
Strong type systems can be used to increase the reliability and performance of programs. In combinat...
Abstract. Typed programming languages offer safety guarantees that help programmers write correct co...
Haskell has a rich type system with various complementary, interacting and overlapping features. In ...
The use of typed intermediate languages can significantly increase the reliability of a compiler. By...
Strong type systems can be used to increase the reliability and performance of programs. In combinat...
Multi-parameter type classes, functional dependencies, and re-cently GADTs and open type families op...
Type classes are one of Haskell's most popular features and extend its type system with ad-hoc polym...
Haskell, as implemented in the Glasgow Haskell Compiler (GHC), has been adding new type-level progra...
Protecting data confidentiality and integrity has become increasingly important in modern software. ...
The use of typed intermediate languages can significantly increase the reliability of a compiler. By...
© 2017 Copyright held by the owner/author(s). Meta-programs are programs that generate other program...
Meta-programs are programs that generate other programs, but in weakly type-safe systems, type-check...
AbstractThe use of typed intermediate languages can significantly increase the reliability of a comp...
In Haskell, programmers have a binary choice between omitting the type signature (and relying on typ...
Modern programs in languages like Haskell include a lot of information beyond what is strictly requi...
Strong type systems can be used to increase the reliability and performance of programs. In combinat...
Abstract. Typed programming languages offer safety guarantees that help programmers write correct co...
Haskell has a rich type system with various complementary, interacting and overlapping features. In ...
The use of typed intermediate languages can significantly increase the reliability of a compiler. By...
Strong type systems can be used to increase the reliability and performance of programs. In combinat...
Multi-parameter type classes, functional dependencies, and re-cently GADTs and open type families op...
Type classes are one of Haskell's most popular features and extend its type system with ad-hoc polym...
Haskell, as implemented in the Glasgow Haskell Compiler (GHC), has been adding new type-level progra...
Protecting data confidentiality and integrity has become increasingly important in modern software. ...
The use of typed intermediate languages can significantly increase the reliability of a compiler. By...