OpenAFP-1.4.3: IBM AFP document format parser and generator

Copyright(c) Audrey Tang 2004-2011
LicensePublicDomain
Maintaineraudreyt@audreyt.org
Stabilityexperimental
Portabilitynon-portable (GHC-only)
Safe HaskellNone
LanguageHaskell98

OpenAFP.Prelude.Utils

Description

This module provides various AFP manipulation utilities.

Documentation

readVar :: (MonadIO m, MonadReader t m) => (t -> IORef b) -> m b Source #

readArray :: (Ix i, MonadIO m, MonadReader t m) => (t -> IOArray i b) -> i -> m b Source #

($$) :: (MonadIO m, MonadReader t m) => (t -> Bool) -> [Char] -> m () infixl 5 Source #

($=) :: (MonadIO m, MonadReader t1 m) => (t1 -> IORef a) -> (t -> a) -> t -> m () infixl 5 Source #

(+=) :: (Num a, MonadIO m, MonadReader t1 m) => (t1 -> IORef a) -> (t -> a) -> t -> m () infixl 5 Source #

(@=) :: (MonadIO m, MonadReader t m) => (t -> IORef [a]) -> a -> m () infixl 5 Source #

(%=) :: (Hashable k, Eq k, MonadIO m, MonadReader t m) => (t -> HashTable RealWorld k v) -> (k, v) -> m () infixl 5 Source #

(%?) :: (Hashable k, Eq k, MonadIO m, MonadReader t m) => (t -> HashTable RealWorld k v) -> k -> m (Maybe v) infixl 5 Source #

(%:) :: (MonadReader t m, MonadIO m, Eq k, Hashable k) => (t -> HashTable RealWorld k b) -> k -> m b infixl 5 Source #

(%%=) :: (Ix i, Foldable t, MonadIO m, MonadReader t1 m) => (t1 -> IOArray i e) -> t (i, e) -> m () infixl 5 Source #

applyToChunk :: (Monad m, Rec a, Chunk c) => (a -> x) -> c -> m x Source #

withChunk :: Chunk a => a -> (forall r. Rec r => r -> x) -> x Source #

splitRecords :: (Chunk c, Typeable t) => t -> [c] -> [[c]] Source #

findRecord :: (a -> Bool) -> [Record a] -> a Source #

matchRecord :: (DataOf a ~ b, RecOf b ~ a, RecData a b, Eq c) => c -> (b -> c) -> a -> b Source #

matchRecordMaybe :: (DataOf a ~ b, RecOf b ~ a, RecData a b, Eq c) => c -> (b -> c) -> a -> Maybe b Source #

findRecordMaybe :: (a -> Bool) -> [Record a] -> Maybe a Source #

fromA :: (Binary a, Storable a) => a -> String Source #

catBuf :: Buf a => a -> a -> a Source #

subBuf :: (Buf a, Integral b, Integral c) => a -> b -> c -> a Source #

subBufs :: (Buf a, Integral b, Integral c) => [a] -> b -> c -> a Source #

showBitmap :: (Integral i, Show a) => [a] -> i -> IOm () Source #

reqArg :: [Char] -> [String] -> String -> String -> (String -> a) -> OptDescr a Source #

noArg :: [Char] -> [String] -> String -> a -> OptDescr a Source #

showUsage :: [OptDescr a] -> (String -> [Char]) -> [Char] -> IO b Source #

requiredOpt :: (String -> IO a) -> String -> a Source #

io :: MonadIO m => IO a -> m a Source #