Word8 is:module

Word8 library to be used with Data.ByteString. All function assumes that Word8 is encoded in Latin-1 (ISO-8859-1). All utility functions are supposed to work as if those of Char. Exceptions are described in the function documentations. Base library 4.7 (GHC 7.8) or earlier is based on Unicode 6. Base library 4.8 (GHC 7.10) or later is based on Unicode 7. isLower, isSymbol and isPunctuation behave differently.
Simple, efficient combinator parsing for ByteString strings.
Space efficient set of Word8 and some pre-canned sets useful for parsing HTTP related ByteString. This packaged is intended to provide O(1) membership test on any subset of ASCII and Latin-1 character set in order to write efficient HTTP related parser.

Creating your own set

You can create your own set by fromList.
myCharSet :: BitSetWord8
myCharSet = fromList [ Y, y, N, n ]
You can create pre-evaluated set using Template Haskell.
import Language.Haskell.TH.Syntax (Lift, lift)

myPreEvaluatedCharSet :: BitSetWord8
myPreEvaluatedCharSet = $(lift myCharSet)

Example Usage

import Data.Attoparsec.ByteString

-- | Parse RFC7230 token.
token :: Parser ByteString
token = takeWhile1 (member rfc7230TChar)
This module works with syllable segmentation in Ukrainian. Uses Word8 whenever possible. Is inspired by the DobutokO.Sound.DIS5G6G module from dobutokO2 package. See: 'https://hackage.haskell.org/package/dobutokO2-0.43.0.0/docs/DobutokO-Sound-DIS5G6G.html'. The initial Word8 data are gotten from there.