unpacked-these: An unpacked these data type

[ bsd3, development, library ] [ Propose Tags ]

The These type and associated operations.

This module is intended to be a drop-in(*) replacement for Data.These. To shave off pointer chasing, it uses -XUnboxedSums to represent the These type as two machine words that are contiguous in memory, without loss of expressiveness that These provides.

This library provides pattern synonyms This, That, and Both(*), which allow users to pattern match on an Unpacked These in a familiar way.

Functions are also provided for converting an Unpacked These to the these library's These, and vice versa.

(*): pattern synonyms use the same namespace as type constructors, so pattern matching on an Unpacked These with the more familiar These data constructor is not possible, instead, Both is provided.

This library is in alpha, and the internals are likely to change.




Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS]
Dependencies base (>=4.10 && <5), deepseq, ghc-prim, these, unpacked-maybe [details]
License BSD-3-Clause
Copyright Copyright © 2018 chessai
Author chessai
Maintainer chessai1996@gmail.com
Category Development
Home page https://github.com/chessai/unpacked-these
Source repo head: git clone https://github.com/chessai/unpacked-either
Uploaded by chessai at 2018-06-04T21:01:34Z
Distributions NixOS:
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 770 total (6 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-06-04 [all 1 reports]