heterogeneous-list-literals: Allows the use of tuples as literals for Heterogeneous collections

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

This is an incredibly simple library, which makes writing literals for heterogeneous collections easy

If you write a function with the signature

hList :: HLL input output => input -> HList output

then

a :: HList '[]
a = hList ()

b :: HList '[Bool]
b = hList (OneTuple True)

c :: HList '[Bool, Int, Double, String]
c = hList (True, 24, 10.5, "Fire")

The full code is in test/Docs.hs

This only supports literals of length up to 20, though that can be easily extended using the code generator in src/Data/HeterogeneousListLiterals

Properties

Versions 0.1.0.1, 0.1.0.1, 0.2.0.0
Change log ChangeLog.md
Dependencies base (>=4.9 && <=4.11), OneTuple (>=0.2.1) [details]
License BSD-3-Clause
Author David Millar-Durrant
Maintainer dmillardurrant@gmail.com
Category Data
Home page https://github.com/davidm-d/heterogeneous-list-literals
Source repo head: git clone https://github.com/davidm-d/heterogeneous-list-literals
Uploaded by DavidMD at 2018-03-23T01:24:50Z

Modules

[Index]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees