Haxl.Core

The monad and operations

data GenHaxl u a

runHaxl

Env

data Env u

type Caches u

caches

Operations in the monad

env

withEnv

withLabel

Building the Env

initEnvWithData

initEnv

emptyEnv

Building the StateStore

data StateStore

stateGet

stateSet

stateEmpty

Exceptions

throw

catch

catchIf

try

tryToHaxlException

Data fetching and caching

dataFetch

uncachedRequest

cacheRequest

cacheResult

cachedComputation

dumpCacheAsHaskell

Memoization

memo

memoize

memoize1

memoize2

memoFingerprint

data MemoFingerprintKey a

Statistics

data Stats

data RoundStats

data DataSourceRoundStats

type Microseconds

emptyStats

numRounds

numFetches

ppStats

ppRoundStats

ppDataSourceRoundStats

data Profile

emptyProfile

profile

profileRound

profileCache

type ProfileLabel

data ProfileData

emptyProfileData

Tracing flags

data Flags

defaultFlags

ifTrace

ifReport

ifProfiling

Building data sources

class DataSource u req

class Show1 f

class DataSourceName req

type Request req a

data BlockedFetch r

data PerformFetch

class StateKey f

Result variables

data ResultVar a

newEmptyResult

newResult

putFailure

putResult

putSuccess

takeResult

tryReadResult

tryTakeResult

Default fetch implementations

asyncFetch

asyncFetchWithDispatch

stubFetch

syncFetch

Utilities

except

setError

Exceptions