Classes of Arbitrary Kind
The type class system in the Haskell Programming language provides a useful abstraction for a wide range of types, such as those that support comparison, serialization, ordering, between others. This system can be extended by the programmer by providing custom instances to one’s custom types. Yet, this is often a monotonous task. Some notions, such as equality, are very regular regardless if it is being encoded for a ground type or a type constructor.
In this paper we present a technique that unifies the treatment of ground types and type constructors whenever possible. This reduces code duplication and improves consistency. We discuss the encoding of several classes in this form, including the generic programming facility in GHC.
Mon 14 JanDisplayed time zone: Belfast change
16:00 - 17:30
|Faster Coroutine Pipelines: A Reconstruction|
|Distributed Protocol Combinators|
Kristoffer Just Arndal Andersen Aarhus University, Ilya Sergey Yale-NUS College and National University of SingaporePre-print
|Classes of Arbitrary Kind|
Alejandro Serrano Utrecht University, Netherlands, Victor Cacciari Miraldo Utrecht University, NetherlandsLink to publication DOI File Attached