Name: storable-enum
Version: 0.0
Synopsis: Wrapper that makes any Enum type Storable
Description:
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'.
License: BSD3
License-File: LICENSE
Author: Henning Thielemann
Maintainer: haskell@henning-thielemann.de
Category: Foreign
Stability: Stable
Build-Type: Simple
Cabal-Version: 1.12
Tested-With: GHC==7.4.2, GHC==8.6.5
Source-Repository this
Tag: 0.0
Type: darcs
Location: http://hub.darcs.net/thielema/storable-enum
Source-Repository head
Type: darcs
Location: http://hub.darcs.net/thielema/storable-enum
Library
Exposed-Modules: Data.Enum.Storable
Build-Depends:
prelude-compat >=0.0 && <0.0.1,
base >=3 && <5
Hs-Source-Dirs: src
Default-Language: Haskell98
GHC-Options: -Wall