Proceedings of the 8th ACM SIGPLAN Workshop on Types in Language Design and Implementation 2012
DOI: 10.1145/2103786.2103795
|View full text |Cite
|
Sign up to set email alerts
|

Giving Haskell a promotion

Abstract: Static type systems strive to be richly expressive while still being simple enough for programmers to use. We describe an experiment that enriches Haskell's kind system with two features promoted from its type system: data types and polymorphism. The new system has a very good power-to-weight ratio: it offers a significant improvement in expressiveness, but, by re-using concepts that programmers are already familiar with, the system is easy to understand and implement.

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
81
0

Year Published

2012
2012
2023
2023

Publication Types

Select...
6
1
1

Relationship

3
5

Authors

Journals

citations
Cited by 141 publications
(84 citation statements)
references
References 29 publications
0
81
0
Order By: Relevance
“…Moreover, they have also started to be incorporated in more standard programming languages, such as Haskell [40]. In all these approaches the types can express richer properties of the program that can then be ensured automatically by type checking.…”
Section: Related Workmentioning
confidence: 99%
“…Moreover, they have also started to be incorporated in more standard programming languages, such as Haskell [40]. In all these approaches the types can express richer properties of the program that can then be ensured automatically by type checking.…”
Section: Related Workmentioning
confidence: 99%
“…A black and white version is available from http://dreixel.net/research/pdf/ trkgp_nocolor.pdf. Yorgey et al (2012) introduce two new features in GHC: userdefined kinds (through datatype promotion) and kind polymorphism. We introduce the two features in this section by means of example uses, and refer the reader to the original paper for implementation details.…”
Section: Notationmentioning
confidence: 99%
“…Visible examples of this are the dataCast 1 /dataCast 2 functions in the Scrap Your Boilerplate approach (SYB, Peyton Jones 2003, 2004), or the Generic/Generic 1 classes of Magalhães et al (2010a). This is all bound to change, though, with the recent addition of kind polymorphism and user-defined kinds to GHC (Yorgey et al 2012). The new features, available as a "technology preview" in GHC version 7.4, and due to be fully supported in version 7.6, bring a whole new range of programming techniques within reach.…”
Section: Introductionmentioning
confidence: 99%
“…As such, the design of generic-deriving could be kept relatively simple, at the loss of some generality. Recently, with the advent of kind polymorphism in GHC [16], many libraries are being generalised from kind-specific to kind-polymophic (e.g. Typeable [16]).…”
Section: Introductionmentioning
confidence: 99%
“…Recently, with the advent of kind polymorphism in GHC [16], many libraries are being generalised from kind-specific to kind-polymophic (e.g. Typeable [16]). In this paper we describe an elegant generalisation of generic-deriving that works with multiple parameters, lifting the one-parameter restriction without requiring the full-blown power (and complexity) of indexed functors [7].…”
Section: Introductionmentioning
confidence: 99%