@hackage unpacked-these0.1.0.0

An unpacked these data type

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.