# storable-enum: Wrapper that makes any Enum type Storable

[ bsd3, foreign, library ] [ Propose Tags ]

In foreign function interfaces you will often want to use enumeration types but defining Storable instances is cumbersome. This package provides the type Enum.Storable.T w e, where e.g. Enum.Storable.T Word8 Ordering means that values of type Ordering are stored in a Word8. The Storable methods store the numeric values of the enumeration elements as obtained by fromEnum. E.g. EQ is stored as 1. The type itself stores a Haskell enumeration element, such that GHC can apply all of its optimizations for enumerations. It is not checked, whether the storage type w is large enough to hold all admissible numeric values of e. It is also not checked, whether the storage type w supports negative values whenever the enumeration of e contains ones.

See the bool8 package for the special case of a Bool stored in a Word8.

## Modules

[Index] [Quick Jump]