[Remove old Haddock docs. Ben.Lippmeier@anu.edu.au**20080122134736 - Haddock can't generate out docs anymore because the modules are mutually recursive. ] hunk ./doc/haddock/Core-Bits.html 1 - - -Core.Bits
 ContentsIndex
Core.Bits
Produced by Haddock version 0.7
rmfile ./doc/haddock/Core-Bits.html hunk ./doc/haddock/Core-Class-Instance.html 1 - - -Core.Class.Instance
 ContentsIndex
Core.Class.Instance
Documentation
callInstances :: Tree -> Tree
slurpAliasP :: Top -> Maybe (Var, Var)
Produced by Haddock version 0.7
rmfile ./doc/haddock/Core-Class-Instance.html hunk ./doc/haddock/Core-Curry.html 1 - - -Core.Curry
 ContentsIndex
Core.Curry
Documentation
type CurryM = State Int
curryTree
:: TreeheaderTree -
-> TreecoreTree -
-> Tree
curryTreeM :: Tree -> Tree -> CurryM Tree
makeCall :: (?supers :: Map Var [Top]) -> Var -> [Exp] -> [Effect] -> Maybe Exp
makeSuperCall :: Var -> [Exp] -> [Effect] -> Int -> Int -> Maybe Exp
makeThunkCall :: Var -> [Exp] -> [Effect] -> Int -> Maybe Exp
getTypeOp :: Top -> Maybe Type
splitApps :: Exp -> [(Exp, [Effect])]
Produced by Haddock version 0.7
rmfile ./doc/haddock/Core-Curry.html hunk ./doc/haddock/Core-Effect-Expand.html 1 - - -Core.Effect.Expand
 ContentsIndex
Core.Effect.Expand
Documentation
expandEffects :: (Var -> [Effect]) -> Tree -> Tree
expandEffectsX :: (Var -> [Effect]) -> Exp -> Exp
Produced by Haddock version 0.7
rmfile ./doc/haddock/Core-Effect-Expand.html hunk ./doc/haddock/Core-Effect-MaskLocal.html 1 - - -Core.Effect.MaskLocal
 ContentsIndex
Core.Effect.MaskLocal
Documentation
maskLocalTree :: Tree -> Tree
maskLocalSs :: Set Var -> [Stmt] -> [Stmt]
maskLocalX :: Set Var -> Exp -> Exp
maskLocalT :: Set Var -> Type -> Type
maskLocalEs :: Set Var -> [Effect] -> [Effect]
maskLocalA :: Set Var -> Alt -> Alt
slurpRegionsS :: Stmt -> [Var]
slurpRegionsG :: Guard -> [Var]
slurpRegionsT :: Type -> [Var]
Produced by Haddock version 0.7
rmfile ./doc/haddock/Core-Effect-MaskLocal.html hunk ./doc/haddock/Core-Effect-Scrub.html 1 - - -Core.Effect.Scrub
 ContentsIndex
Core.Effect.Scrub
Documentation
scrubEffects :: Tree -> Set Var -> Tree
Produced by Haddock version 0.7
rmfile ./doc/haddock/Core-Effect-Scrub.html hunk ./doc/haddock/Core-Exp.html 1 - - -Core.Exp
 ContentsIndex
Core.Exp
Synopsis
type Tree = [Top]
data Top
= PNil
| PBind Var Type Exp
| PSuper Var Type Type Exp
| PExtern Var Type Type
| PData Var [Var] [(Var, [DataField Exp Type])]
| PCtor Var Type Type
| PEffect Var
data Exp
= XNothing
| XNil
| XAnnot Annot Exp
| XVar Var
| XLambda Var Type Exp
| XApp Exp Type
| XAppE Exp Exp [Effect]
| XDo [Stmt]
| XMatchE [Effect] [Alt]
| XConst Const
| XUnit
| XProj Exp Proj Type Type [Effect]
| XCall Var [Exp] [Effect]
| XCallApp Var Int [Exp] [Effect]
| XApply Var [Exp] [Effect]
| XCurry Var Int [Exp]
| XSuspend Var [Exp]
| XAppF [Exp]
| XAppFP Exp (Maybe [Effect])
| XType Type
| XAt Var Exp
| XLifted Var [Var]
data Proj
= JField Var
| JFieldR Var
data Stmt
= SComment String
| SStmt Exp
| SBind Var Type Exp
data Attr
= RBoxed
| RStrict
data Alt
= AAlt [Guard] Exp
| ADefault Exp
data Guard
= GDefault
| GUnit Exp
| GConst Exp Const
| GCon Exp Var [(Label, Var, Type)]
data Label = LIndex Int
data Type
= TNil
| TNothing
| TVar Var
| TVarC Var Var
| TForall [(Var, Type)] Type
| TFun Type Type
| TFunEE Type Type [Effect] [Exp]
| TCon Var [Attr] [Type]
| TColored Var Type
| TMerge [Effect]
| TKType
| TKRegion
| TKEffect
| TTypeL Type [(Var, ([Effect], [Exp]))]
| TFunV Type Type (Maybe Var)
data Effect
= ENil
| EVar Var
| EPort Var
| EPipe Var
| EEnd Var
| ECon Var [Var]
| ESum [Effect]
data Annot
= NString String
| NType Type
Documentation
type Tree = [Top]
data Top
Top level expression. -
Constructors
PNil
PBind Var Type ExpA Top level binding. -
PSuper Var Type Type ExpA supercombinator. var, value type, operational type, exp. -
PExtern Var Type TypeA function or effect imported from somewhere else. - name, value type, operational type -
PData Var [Var] [(Var, [DataField Exp Type])]
PCtor Var Type TypeConstructor: ctor name, value type, operational type -
PEffect VarA global effect. -
show/hide Instances
Data Top
Eq Top
Pretty Top
Show Top
Typeable Top
data Exp
Constructors
XNothingEmpty expression - In contrast to XNil, an XNothing represents some part of the - tree with is _supposed_ to be empty between stages -
XNilNil expression. - XNil is used internally by compiler stages as a place holder for - information that isn't present at the moment. If Core.Lint finds any - XNil's _after_ a stage has completed then it will complain. -
XAnnot Annot ExpAnnotation. -
XVar VarA variable. -
XLambda Var Type ExpLambda abstraction. - Invariant: exp must be an XLambda or an XDo. -
XApp Exp TypeType application. -
XAppE Exp Exp [Effect]Function application with effects. -
XDo [Stmt]Do expression. -
XMatchE [Effect] [Alt]Matching of constructors and constants with effects. - Matching causes read effects on the match targets. -
XConst ConstLiterals. -
XUnitThe unit value. -
XProj Exp Proj Type Type [Effect]
XCall Var [Exp] [Effect]Call a super, args, effects -
XCallApp Var Int [Exp] [Effect]Call then apply super. name, super airity, args, effs -
XApply Var [Exp] [Effect]Apply a thunk. thunk name, args, effects -
XCurry Var Int [Exp]Build a thunk. combinator name, super airity, args -
XSuspend Var [Exp]
XAppF [Exp]
XAppFP Exp (Maybe [Effect])
XType Type
XAt Var Exp
XLifted Var [Var]Place holder for a lambda abstraction that was lifted out - name of lifted function. - Name of supercombinator, vars which were free in lifted expression. -
show/hide Instances
Data Exp
Eq Exp
Pretty Exp
Show Exp
Typeable Exp
data Proj
Constructors
JField Var
JFieldR Var
show/hide Instances
Data Proj
Eq Proj
Show Proj
Typeable Proj
data Stmt
Statments, sequencing. -
Constructors
SComment String
SStmt ExpStatement. -
SBind Var Type ExpLet binding. -
show/hide Instances
Data Stmt
Eq Stmt
Pretty Stmt
Show Stmt
Typeable Stmt
data Attr
Constructors
RBoxed
RStrict
show/hide Instances
Data Attr
Eq Attr
Show Attr
Typeable Attr
data Alt
A match alternative. -
Constructors
AAlt [Guard] Exp
ADefault Exp
show/hide Instances
Data Alt
Eq Alt
Pretty Alt
Show Alt
Typeable Alt
data Guard
Constructors
GDefaultMatches any value. -
GUnit ExpExp must match with unit value. -
GConst Exp ConstExp must evaluate to const. -
GCon Exp Var [(Label, Var, Type)]Exp must match constructor, then bind args. -
show/hide Instances
Data Guard
Eq Guard
Pretty Guard
Show Guard
Typeable Guard
data Label
Constructors
LIndex Int
show/hide Instances
Data Label
Eq Label
Pretty Label
Show Label
Typeable Label
data Type
Constructors
TNil
TNothing
TVar Var
TVarC Var Var
TForall [(Var, Type)] Typeforall quantification. - Each var appears along with its kind. -
TFun Type TypeFunctions without effect or environment annotations - Used for operational types. -
TFunEE Type Type [Effect] [Exp]Functions with an effect and an environment. - Used for types of value expressions. -
TCon Var [Attr] [Type]Type constructor. -
TColored Var TypeColored modes. -
TMerge [Effect]Some collection of effects -
TKTypeThe type kind. -
TKRegionThe region kind. -
TKEffectThe effect kind. -
TTypeL Type [(Var, ([Effect], [Exp]))]A labeled type with closure info. -
TFunV Type Type (Maybe Var)A labeled function. -
show/hide Instances
Data Type
Eq Type
Pretty Type
Show Type
Typeable Type
data Effect
Constructors
ENil
EVar Var
EPort Var
EPipe Var
EEnd Var
ECon Var [Var]
ESum [Effect]
show/hide Instances
data Annot
Expression annotations. - Used internally, and for debugging. -
Constructors
NString StringSome string: for debugging. -
NType TypeGives the type for an expression. -
show/hide Instances
Data Annot
Eq Annot
Pretty Annot
Show Annot
Typeable Annot
Produced by Haddock version 0.7
rmfile ./doc/haddock/Core-Exp.html hunk ./doc/haddock/Core-FreezeStatic.html 1 - - -Core.FreezeStatic
 ContentsIndex
Core.FreezeStatic
Documentation
gatherStaticRegions :: Tree -> [Var]
gatherStaticRegionsP :: Top -> [Var]
Produced by Haddock version 0.7
rmfile ./doc/haddock/Core-FreezeStatic.html hunk ./doc/haddock/Core-Lift-AddFree.html 1 - - -Core.Lift.AddFree
 ContentsIndex
Core.Lift.AddFree
Synopsis
bindFreeVarsP :: Top -> LiftM (Top, [Var])
addLambdas :: [(Var, Type)] -> Exp -> Exp
addForallVKs :: [(Var, Type)] -> Type -> Type
stripLambdas :: Exp -> (Exp, [(Var, Type)])
sortVTs :: [(Var, Type)] -> [(Var, Type)]
filterVTs :: NameSpace -> [(Var, Type)] -> [(Var, Type)]
addFun :: Type -> Type -> Type
Documentation
bindFreeVarsP :: Top -> LiftM (Top, [Var])
addLambdas :: [(Var, Type)] -> Exp -> Exp
addForallVKs :: [(Var, Type)] -> Type -> Type
stripLambdas :: Exp -> (Exp, [(Var, Type)])
strip the lambdas off an expression -
sortVTs :: [(Var, Type)] -> [(Var, Type)]
filterVTs :: NameSpace -> [(Var, Type)] -> [(Var, Type)]
addFun :: Type -> Type -> Type
Produced by Haddock version 0.7
rmfile ./doc/haddock/Core-Lift-AddFree.html hunk ./doc/haddock/Core-Lift-Base.html 1 - - -Core.Lift.Base
 ContentsIndex
Core.Lift.Base
Documentation
data LiftS
Constructors
LiftS
stateTypes :: (Map Var Type)
stateTopVars :: (Set Var)
stateVarGen :: VarId
stateCoreVars :: (Map String Var)
stateHeaderCore :: (Map Var [Top])
stateChopped :: [(Var, Var, Top)]A list of bindings chopped out on this pass - old name, new (top level) name, expression -
stateBindVars :: (Map Var [(Var, Type)])What the free vars were in a lifted binding - top level name, (var, type) for each free var. -
stateBinds :: [Stmt]A list of binds - used in Lift.Patch -
type LiftM = State LiftS
bindType :: Var -> Type -> LiftM ()
getType :: Var -> LiftM Type
addTopVar :: Var -> LiftM ()
getTopVars :: LiftM (Set Var)
newVar :: LiftM Var
addChopped :: Var -> Var -> Top -> LiftM ()
getChopped :: LiftM [(Var, Var, Top)]
addBindVars :: Var -> [(Var, Type)] -> LiftM ()
lookupBindVars :: Var -> LiftM (Maybe [(Var, Type)])
Produced by Haddock version 0.7
rmfile ./doc/haddock/Core-Lift-Base.html hunk ./doc/haddock/Core-Lift-BindTypes.html 1 - - -Core.Lift.BindTypes
 ContentsIndex
Core.Lift.BindTypes
Documentation
bindTypesTree :: Tree -> LiftM ()
bindTypesP :: Top -> LiftM Top
bindTypesS :: Stmt -> LiftM Stmt
bindTypesX :: Exp -> LiftM Exp
bindTypesG :: Guard -> LiftM Guard
Produced by Haddock version 0.7
rmfile ./doc/haddock/Core-Lift-BindTypes.html hunk ./doc/haddock/Core-Lift-LiftP.html 1 - - -Core.Lift.LiftP
 ContentsIndex
Core.Lift.LiftP
Documentation
lambdaLiftP :: Top -> LiftM [Top]
chopInnerS :: Var -> Stmt -> LiftM Stmt
choppable :: Exp -> Bool
chopX :: Var -> Stmt -> LiftM Stmt
gotLambdasX :: Exp -> Bool
gotLambdasS :: Stmt -> Bool
gotLambdasA :: Alt -> Bool
Produced by Haddock version 0.7
rmfile ./doc/haddock/Core-Lift-LiftP.html hunk ./doc/haddock/Core-Lift-Patch.html 1 - - -Core.Lift.Patch
 ContentsIndex
Core.Lift.Patch
Documentation
patchP :: Set Var -> Map Var Type -> Top -> LiftM Top
patchSS :: Set Var -> Map Var Type -> [Stmt] -> LiftM [Stmt]
patchSuperCallsSS :: Set Var -> Map Var Type -> [Stmt] -> LiftM [Stmt]
bindSuperCallsS :: (?superVars :: Set Var) -> (?superTypes :: Map Var Type) -> Stmt -> LiftM Stmt
Produced by Haddock version 0.7
rmfile ./doc/haddock/Core-Lift-Patch.html hunk ./doc/haddock/Core-Lift.html 1 - - -Core.Lift
 ContentsIndex
Core.Lift
Documentation
lambdaLiftTree
:: Treesource tree -
-> Treeheader tree -
-> Map String VarcoreVars -
-> Treelambda lifted source -
lambdaLiftTreeM :: (?headerCore :: Map Var [Top]) -> Tree -> LiftM Tree
Produced by Haddock version 0.7
rmfile ./doc/haddock/Core-Lift.html hunk ./doc/haddock/Core-Optimise-FullLaziness.html 1 - - -Core.Optimise.FullLaziness
 ContentsIndex
Core.Optimise.FullLaziness
Documentation
type FullM = State Int
fullTree :: [Top] -> [Top]
fullTreeM :: [Top] -> FullM [Top]
fullSS :: [Stmt] -> FullM [Stmt]
fullS :: Stmt -> FullM [Stmt]
chorpLambda :: [Var] -> Exp -> FullM ([Stmt], Exp)
collectAppEs :: Exp -> [Effect]
makeSuspension :: Stmt -> Stmt
liftableS :: [Var] -> Stmt -> Bool
Produced by Haddock version 0.7
rmfile ./doc/haddock/Core-Optimise-FullLaziness.html hunk ./doc/haddock/Core-Plate-FreeVars.html 1 - - -Core.Plate.FreeVars
 ContentsIndex
Core.Plate.FreeVars
Documentation
freeVarsX :: Exp -> Set Var
freeVarsS :: Stmt -> Set Var
freeVarsA :: Alt -> Set Var
freeVarsG :: Guard -> Set Var
freeVarsT :: Type -> Set Var
freeVarsE :: Effect -> Set Var
boundByS :: Stmt -> Set Var
boundByG :: Guard -> Set Var
Produced by Haddock version 0.7
rmfile ./doc/haddock/Core-Plate-FreeVars.html hunk ./doc/haddock/Core-Plate-Trans.html 1 - - -Core.Plate.Trans
 ContentsIndex
Core.Plate.Trans
Documentation
dropStateM :: State s b -> b
data TransTable m
Constructors
TransTable
transP :: (Top -> m Top)
transX :: (Exp -> m Exp)
transJ :: (Proj -> m Proj)
transS :: (Stmt -> m Stmt)
transA :: (Alt -> m Alt)
transG :: (Guard -> m Guard)
transT :: (Type -> m Type)
transE :: (Effect -> m Effect)
transV :: (Var -> m Var)
transSS :: ([Stmt] -> m [Stmt])
decendX :: Bool
decendS :: Bool
decendA :: Bool
decendG :: Bool
decendT :: Bool
decendE :: Bool
transTableId :: TransTable (State s)
transUpPM :: Monad m => TransTable m -> Top -> m Top
transUpXM :: Monad m => TransTable m -> Exp -> m Exp
Produced by Haddock version 0.7
rmfile ./doc/haddock/Core-Plate-Trans.html hunk ./doc/haddock/Core-Plate-TransStmts.html 1 - - -Core.Plate.TransStmts
 ContentsIndex
Core.Plate.TransStmts
Documentation
type Trans c = Monad m => ([Stmt] -> m [Stmt]) -> c -> m c
transStmtsTree :: Trans (Map Var [Top])
transStmtsP :: Trans Top
transStmtsX :: Trans Exp
transStmtsS :: Trans Stmt
transStmtsA :: Trans Alt
transStmtsG :: Trans Guard
Produced by Haddock version 0.7
rmfile ./doc/haddock/Core-Plate-TransStmts.html hunk ./doc/haddock/Core-Plate.html 1 - - -Core.Plate
 ContentsIndex
Core.Plate
Produced by Haddock version 0.7
rmfile ./doc/haddock/Core-Plate.html hunk ./doc/haddock/Core-Pretty.html 1 - - -Core.Pretty
 ContentsIndex
Core.Pretty
Documentation
bracket :: String -> String
bracketC :: String -> String
Produced by Haddock version 0.7
rmfile ./doc/haddock/Core-Pretty.html hunk ./doc/haddock/Core-SnipDown.html 1 - - -Core.SnipDown
 ContentsIndex
Core.SnipDown
Documentation
snipDownTree :: Tree -> Tree
type SnipM = State VarId
newVar :: SnipM Var
snipStartP :: Top -> SnipM Top
snipStmts :: [Stmt] -> SnipM [Stmt]
snipStmt :: Stmt -> SnipM (Stmt, [Stmt])
snipDownApp :: Bool -> Exp -> SnipM (Exp, Maybe Stmt)
Produced by Haddock version 0.7
rmfile ./doc/haddock/Core-SnipDown.html hunk ./doc/haddock/Core-ToSea.html 1 - - -Core.ToSea
 ContentsIndex
Core.ToSea
Documentation
type Table = Map String Var
toSeaTree :: Map String Var -> Tree -> Tree
toSeaCtor :: (Var, [DataField Exp Type]) -> Top
toSeaX :: (?table :: Table) -> Exp -> Exp
toSeaS :: (?table :: Table) -> Stmt -> Stmt
Produced by Haddock version 0.7
rmfile ./doc/haddock/Core-ToSea.html hunk ./doc/haddock/Core-Unify.html 1 - - -Core.Unify
 ContentsIndex
Core.Unify
Documentation
unifyT2 :: Type -> Type -> [(Type, Type)]
unifyE2 :: [Effect] -> [Effect] -> [(Type, Type)]
unifyVarT2 :: Type -> Type -> [(Var, Var)]
unifyVarE2 :: Effect -> Effect -> [(Var, Var)]
Produced by Haddock version 0.7
rmfile ./doc/haddock/Core-Unify.html hunk ./doc/haddock/Core-Util.html 1 - - -Core.Util
 ContentsIndex
Core.Util
Documentation
flattenApps :: Exp -> [Exp]
unflattenApps :: [Exp] -> Exp
flattenFun :: Type -> [Type]
unflattenFun :: [Type] -> Type
flattenAppsE :: Exp -> [Exp]
unflattenAppsE :: [Exp] -> Exp
type LabelTable = [(Var, ([Effect], [Exp]))]
labelTypeP :: Top -> Top
labelTypeX :: Exp -> Exp
labelTypeT :: Type -> Type
labelType :: Type -> State (Int, LabelTable) Type
chopLambdas :: Exp -> (Exp, [(Var, Type)])
sortLambdaVars :: [Var] -> [Var]
addLambdaVT :: Exp -> (Var, Type) -> Exp
collectTypes :: Tree -> Map Var Type
collectTypesX :: Exp -> Maybe (Var, Type)
collectTypesS :: Stmt -> Maybe (Var, Type)
collectTypesP :: Top -> Maybe (Var, Type)
superAirity :: Exp -> Int
superOpType :: Map String Var -> Top -> Type
collectAirity :: Tree -> Map Var Int
tossCore :: [Top] -> Map Var [Top]
topName :: Top -> Var
crushToXDo :: [Stmt] -> Exp
makeCtorTypeAVT :: [Type] -> Var -> [Var] -> Type
tossRegionEffects :: [Effect] -> Map Var [Effect]
gatherEffectsT :: Type -> [Effect]
gatherFunT :: Type -> [Type]
Produced by Haddock version 0.7
rmfile ./doc/haddock/Core-Util.html hunk ./doc/haddock/Evil-Chain.html 1 - - -Evil.Chain
 ContentsIndex
Evil.Chain
Documentation
data ChainCell
allocUniqueId :: Int -> IO Int
chainRegisterVar :: StablePtr Var -> Int -> IO ()
chainSub :: Int -> Int -> IO ()
chainResolveVar :: Int -> IO (StablePtr Var)
Produced by Haddock version 0.7
rmfile ./doc/haddock/Evil-Chain.html hunk ./doc/haddock/Main-Arg.html 1 - - -Main.Arg
 ContentsIndex
Main.Arg
Documentation
data Arg
Constructors
Error String
Help
Verbose
Compile [String]
InputFile [String]
OutputFile [String]
ImportDirs [String]
Make [String]
StopType
StopTypeConstraint
StopCompile
StopTrauma
StopErrors [String]
KeepCFiles
KeepOFiles
NoImplicitPrelude
ArgPath Path
DumpAll
DumpSource
DumpSourceParsed
DumpSourceDefixed
DumpSourceRenamed
DumpSourceRenameTrace
DumpSourceAliased
DumpSourceHacks
DumpSourceSlurped
DumpTypeConstraints
DumpTypeCallGraph
DumpTypeSlurpTrace
DumpTypeSolveTrace
DumpCore
DumpCoreSnip
DumpCoreMaskLocal
DumpCoreTrans
DumpCoreLifted
DumpCoreCurry
DumpCoreRegionEffects
DumpSea
DumpSeaReturn
DumpSeaMatch
DumpSeaSub
DumpSeaCtor
DumpSeaThunk
DumpSeaForce
DumpSeaSlot
OptAll
OptFullLaziness
GraphTypeGraph
GraphTypeVars [String]
GraphColorColors
GraphColorSegments
GraphColorClasses
GraphColorSources
AnnotAll
AnnotMisc
AnnotVar
AnnotType
show/hide Instances
Eq Arg
Show Arg
expand :: [Arg] -> [Arg]
parse :: String -> [Arg]
Produced by Haddock version 0.7
rmfile ./doc/haddock/Main-Arg.html hunk ./doc/haddock/Main-Compile.html 1 - - -Main.Compile
 ContentsIndex
Main.Compile
Documentation
compileFile :: [Arg] -> String -> IO ()
getTimeF :: IO Double
showF :: Double -> String
Produced by Haddock version 0.7
rmfile ./doc/haddock/Main-Compile.html hunk ./doc/haddock/Main-Path.html 1 - - -Main.Path
 ContentsIndex
Main.Path
Documentation
data Path
Constructors
Path
pathBase :: FilePath
pathO :: FilePath
pathTI :: FilePath
pathC :: FilePath
pathH :: FilePath
show/hide Instances
Eq Path
Show Path
makePaths :: FilePath -> Path
Produced by Haddock version 0.7
rmfile ./doc/haddock/Main-Path.html hunk ./doc/haddock/Main-Version.html 1 - - -Main.Version
 ContentsIndex
Main.Version
Produced by Haddock version 0.7
rmfile ./doc/haddock/Main-Version.html hunk ./doc/haddock/Main.html 1 - - -Main
 ContentsIndex
Main
Documentation
main :: IO ()
Produced by Haddock version 0.7
rmfile ./doc/haddock/Main.html hunk ./doc/haddock/Module-Export.html 1 - - -Module.Export
 ContentsIndex
Module.Export
Documentation
makeInterface :: Tree -> Tree -> Map Var Var -> (Var -> Maybe Type) -> IO String
exportAll :: (?getType :: Var -> Type) -> (?getTypeOp :: Var -> Type) -> (?exportVars :: [Var]) -> [Top] -> String
exportExtern :: (?exportVars :: [Var]) -> (?getType :: Var -> Type) -> (?getTypeOp :: Var -> Type) -> Top -> String
exportBind :: (?exportVars :: [Var]) -> (?getType :: Var -> Type) -> (?getTypeOp :: Var -> Type) -> Top -> String
exportVTT :: (?exportVars :: [Var]) -> Var -> Type -> Type -> String
Produced by Haddock version 0.7
rmfile ./doc/haddock/Module-Export.html hunk ./doc/haddock/Module-IO.html 1 - - -Module.IO
 ContentsIndex
Module.IO
Documentation
munchFileName :: FilePath -> Maybe (FilePath, String)
loadInterface :: [FilePath] -> String -> IO Interface
listDir :: FilePath -> IO [FilePath]
findImport :: [FilePath] -> String -> IO (FilePath, FilePath, String)
findFile :: [FilePath] -> String -> IO (Maybe FilePath)
Produced by Haddock version 0.7
rmfile ./doc/haddock/Module-IO.html hunk ./doc/haddock/Module-Interface.html 1 - - -Module.Interface
 ContentsIndex
Module.Interface
Documentation
data Interface
Constructors
Interface
name :: String
filePath :: FilePath
fileDir :: FilePath
fileName :: String
imports :: [Var]
sourceTree :: [Top]
show/hide Instances
Produced by Haddock version 0.7
rmfile ./doc/haddock/Module-Interface.html hunk ./doc/haddock/Module-Main.html 1 - - -Module.Main
 ContentsIndex
Module.Main
Documentation
makeMainC :: [String] -> String
Produced by Haddock version 0.7
rmfile ./doc/haddock/Module-Main.html hunk ./doc/haddock/Module-Module.html 1 - - -Module.Module
 ContentsIndex
Module.Module
Documentation
data Module
Constructors
Module
interface :: Interface
imports :: (Map String Interface)
importDirs :: [FilePath]
filePaths :: Path
headerSourceTree :: Tree
headerCore :: (Map Var [Top])
source :: String
sourceTree :: Tree
sourceRenameTrace :: [String]
sourceTyped :: Tree
typeCoreVars :: (Map String Var)
typeSigmaTable :: (Map Var Var)
typeConstraints :: [CTree]
typeCallGraph :: (Map Var [Var])
typeSlurpTrace :: [String]
typeMapSchemes :: (Var -> Maybe Type)
typeTrace :: [String]
coreTree :: (Map Var [Top])
coreTypes :: (Map Var Type)
coreMapSchemes :: (Var -> Maybe Type)
coreMapNodes :: (Var -> Maybe Type)
coreMapInst :: (Var -> Maybe Type)
coreMapEffects :: (Var -> Maybe Effect)
coreRegionEffects :: (Map Var [Effect])
seaTree :: (Map Var [Top])
seaHeader :: String
seaCode :: String
Produced by Haddock version 0.7
rmfile ./doc/haddock/Module-Module.html hunk ./doc/haddock/Module-Pretty.html 1 - - -Module.Pretty
 ContentsIndex
Module.Pretty
Produced by Haddock version 0.7
rmfile ./doc/haddock/Module-Pretty.html hunk ./doc/haddock/Sea-Ctor.html 1 - - -Sea.Ctor
 ContentsIndex
Sea.Ctor
Documentation
type ExM = State VarId
newVar :: ExM Var
expandCtorTree :: Tree -> Tree
expandCtorP :: Top -> ExM Top
Produced by Haddock version 0.7
rmfile ./doc/haddock/Sea-Ctor.html hunk ./doc/haddock/Sea-Exp.html 1 - - -Sea.Exp
 ContentsIndex
Sea.Exp
Documentation
type Tree = [Top]
data Top
Constructors
PNil
PSuper Var [(Var, Type)] Type [Stmt]
PCtor Var [Type] Type
PData Var [(Var, [DataField Exp Type])]
PStruct Var [(Var, Type)]
PInclude String
PHackery String
PComment String
PBlank
PHashDef String String
PProto Var [Type] Type
show/hide Instances
Data Top
Eq Top
Pretty Top
Show Top
Typeable Top
data Stmt
Constructors
SBlank
SComment String
SHackery String
SAssign Exp Type Exp
SAuto Var Type
SAutoBind Var Type Exp
SStmt Exp
SReturn Exp
SLabel Var
SGoto Var
SMatch [Alt]
SSwitch Exp [Alt]
SSlotPush Int
SSlotPop Int
show/hide Instances
Data Stmt
Eq Stmt
Pretty Stmt
Show Stmt
Typeable Stmt
data Alt
Constructors
AMatch Exp [Stmt]
ASwitch Exp [Stmt]
ACaseSusp Exp Var
ACaseDeath
show/hide Instances
Data Alt
Eq Alt
Pretty Alt
Show Alt
Typeable Alt
data Exp
Constructors
XNil
XVar Var
XSlot Var Int
XCall Var [Exp]
XCallApp Var Int [Exp]
XApply Exp [Exp]
XCurry Var Int [Exp]
XSuspend Var [Exp]
XArg Exp Type Int
XTag Exp
XField Exp Var Var
XFieldR Exp Var Var
XCon Var
XInt Int
XUnit
XLabel Var
XLiteral Literal
XSuper Var
XTagThunk
XNull
XEq Exp Exp
XAlloc Int
XAllocThunk Var Int Int
XAllocData Var Int
XAllocSusp Var Int
XMatch [Alt]
show/hide Instances
Data Exp
Eq Exp
Pretty Exp
Show Exp
Typeable Exp
data Type
Constructors
TVar Var
TObj
TThunk
TData
TSusp
show/hide Instances
Data Type
Eq Type
Pretty Type
Show Type
Typeable Type
Produced by Haddock version 0.7
rmfile ./doc/haddock/Sea-Exp.html hunk ./doc/haddock/Sea-Force.html 1 - - -Sea.Force
 ContentsIndex
Sea.Force
Documentation
type ForceM = State VarId
newVar :: ForceM Var
forceTree :: Tree -> Tree
forceSS :: [Stmt] -> ForceM [Stmt]
forceS :: Stmt -> ForceM [Stmt]
forceA :: Alt -> ForceM Alt
Produced by Haddock version 0.7
rmfile ./doc/haddock/Sea-Force.html hunk ./doc/haddock/Sea-Match.html 1 - - -Sea.Match
 ContentsIndex
Sea.Match
Documentation
type NoM = State Int
selMatchTree :: Tree -> Tree
selMatchSS :: [Stmt] -> NoM [Stmt]
selMatchS :: Stmt -> NoM [Stmt]
selMatchS' :: Maybe (Exp, Type) -> [Exp] -> [[Stmt]] -> NoM [Stmt]
splitXEq :: Exp -> (Exp, Exp)
assignLastStmt :: (Exp, Type) -> [Stmt] -> [Stmt]
pushReturnMatchS :: Stmt -> Stmt
Produced by Haddock version 0.7
rmfile ./doc/haddock/Sea-Match.html hunk ./doc/haddock/Sea-Plate-Trans.html 1 - - -Sea.Plate.Trans
 ContentsIndex
Sea.Plate.Trans
Documentation
dropStateM :: State s b -> b
data TransTable m
Constructors
TransTable
transV :: (Var -> m Var)
transX :: (Exp -> m Exp)
decendX :: Bool
transSS :: ([Stmt] -> m [Stmt])
transS :: (Stmt -> m Stmt)
transA :: (Alt -> m Alt)
transP :: (Top -> m Top)
transTableId :: TransTable (State s)
transUpPM :: Monad m => TransTable m -> Top -> m Top
transUpSM :: Monad m => TransTable m -> Stmt -> m Stmt
transUpXM :: Monad m => TransTable m -> Exp -> m Exp
transUpAM :: Monad m => TransTable m -> Alt -> m Alt
Produced by Haddock version 0.7
rmfile ./doc/haddock/Sea-Plate-Trans.html hunk ./doc/haddock/Sea-Plate-TransStmts.html 1 - - -Sea.Plate.TransStmts
 ContentsIndex
Sea.Plate.TransStmts
Documentation
type Trans c = Monad m => ([Stmt] -> m [Stmt]) -> c -> m c
transStmtsTree :: Trans (Map Var [Top])
transStmtsP :: Trans Top
transStmtsX :: Trans Exp
transStmtsS :: Trans Stmt
transStmtsA :: Trans Alt
Produced by Haddock version 0.7
rmfile ./doc/haddock/Sea-Plate-TransStmts.html hunk ./doc/haddock/Sea-Pretty.html 1 - - -Sea.Pretty
 ContentsIndex
Sea.Pretty
Documentation
seaVar :: Var -> String
Produced by Haddock version 0.7
rmfile ./doc/haddock/Sea-Pretty.html hunk ./doc/haddock/Sea-Proto.html 1 - - -Sea.Proto
 ContentsIndex
Sea.Proto
Documentation
addSuperProtosTree :: Tree -> Tree
Produced by Haddock version 0.7
rmfile ./doc/haddock/Sea-Proto.html hunk ./doc/haddock/Sea-Return.html 1 - - -Sea.Return
 ContentsIndex
Sea.Return
Documentation
type ExM = State VarId
newVar :: ExM Var
transReturnTree :: Tree -> Tree
transReturnM :: Tree -> ExM Tree
transReturnSS :: [Stmt] -> ExM [Stmt]
transReturnS :: Stmt -> ExM [Stmt]
Produced by Haddock version 0.7
rmfile ./doc/haddock/Sea-Return.html hunk ./doc/haddock/Sea-Slot.html 1 - - -Sea.Slot
 ContentsIndex
Sea.Slot
Documentation
slotTree :: Tree -> Tree
slotP :: Top -> VarGenM Top
data SlotS
Constructors
SlotS
stateMap :: (Map Var Int)
stateSlot :: Int
type SlotM = State SlotS
newSlot :: SlotM Int
addSlotMap :: Int -> Var -> SlotM ()
slotS :: Stmt -> SlotM Stmt
slotA :: Alt -> SlotM Alt
Produced by Haddock version 0.7
rmfile ./doc/haddock/Sea-Slot.html hunk ./doc/haddock/Sea-Sub.html 1 - - -Sea.Sub
 ContentsIndex
Sea.Sub
Documentation
type MapAssignCount = Map Var Int
type MapAssignVar = Map Var Var
subTree :: Tree -> Tree
subTreeP :: Top -> Top
assignCountS :: Stmt -> State MapAssignCount Stmt
eraseTreeSS :: MapAssignCount -> [Stmt] -> State MapAssignVar [Stmt]
Produced by Haddock version 0.7
rmfile ./doc/haddock/Sea-Sub.html hunk ./doc/haddock/Sea-Thunk.html 1 - - -Sea.Thunk
 ContentsIndex
Sea.Thunk
Documentation
type ExM = State VarId
newVar :: ExM Var
expandThunkingTree :: Tree -> Tree
expandTree :: Tree -> Tree
expandP :: Top -> ExM Top
expandSS :: [Stmt] -> ExM [Stmt]
expandS :: Stmt -> ExM [Stmt]
expandA :: Alt -> ExM Alt
expandCurry :: Var -> Exp -> ExM ([Stmt], Exp)
expandSusp :: Var -> Exp -> ExM ([Stmt], Exp)
expandCallApp :: Exp -> ExM ([Stmt], Exp)
expandApply :: Exp -> ExM ([Stmt], Exp)
expandApplyN :: Int -> Var -> [Exp] -> [Stmt] -> ExM (Var, [Stmt])
Produced by Haddock version 0.7
rmfile ./doc/haddock/Sea-Thunk.html hunk ./doc/haddock/Sea-Util.html 1 - - -Sea.Util
 ContentsIndex
Sea.Util
Documentation
tossTops :: [Top] -> Map Var [Top]
topName :: Top -> Var
Produced by Haddock version 0.7
rmfile ./doc/haddock/Sea-Util.html hunk ./doc/haddock/Shared-Base.html 1 - - -Shared.Base
 ContentsIndex
Shared.Base
Documentation
data SourcePos
Constructors
SourcePos (String, Int, Int)
NoSourcePos
show/hide Instances
data Literal
Constructors
LInt Int
LChar Char
LFloat Float
LString String
show/hide Instances
Produced by Haddock version 0.7
rmfile ./doc/haddock/Shared-Base.html hunk ./doc/haddock/Shared-Bits.html 1 - - -Shared.Bits
 ContentsIndex
Shared.Bits
Documentation
annotMisc :: String -> String
scrubAnnotC :: Char -> String -> String
scrubAnnotR :: Char -> String -> String
Produced by Haddock version 0.7
rmfile ./doc/haddock/Shared-Bits.html hunk ./doc/haddock/Shared-DataUnify.html 1 - - -Shared.DataUnify
 ContentsIndex
Shared.DataUnify
Documentation
class Typeable a => DataUnify a where
Methods
gUnify :: (forall b . DataUnify b => b -> b -> b) -> a -> a -> a
gUnifyM :: Monad m => (forall b . DataUnify b => b -> b -> m b) -> a -> a -> m a
make :: (Typeable a, Typeable b) => (b -> b -> b) -> a -> a -> a
makeM :: (Typeable a, Typeable b, Typeable (m a), Typeable (m b), Monad m) => (b -> b -> m b) -> a -> a -> m a
Produced by Haddock version 0.7
rmfile ./doc/haddock/Shared-DataUnify.html hunk ./doc/haddock/Shared-Error.html 1 - - -Shared.Error
 ContentsIndex
Shared.Error
Documentation
death :: Pretty err => [err] -> a
Produced by Haddock version 0.7
rmfile ./doc/haddock/Shared-Error.html hunk ./doc/haddock/Shared-Exp.html 1 - - -Shared.Exp
 ContentsIndex
Shared.Exp
Documentation
data DataField x t
Constructors
DataField
dPrimary :: Bool
dLabel :: (Maybe Var)
dType :: t
dInit :: (Maybe x)
show/hide Instances
(Data t, ??? x) => Data (DataField x t)
(Eq t, ??? x) => Eq (DataField x t)
(Pretty x, Pretty t) => Pretty (DataField x t)
Rename (DataField Exp Type)
(Show t, ??? x) => Show (DataField x t)
(Typeable t, ??? x) => Typeable (DataField x t)
Produced by Haddock version 0.7
rmfile ./doc/haddock/Shared-Exp.html hunk ./doc/haddock/Shared-Literal.html 1 - - -Shared.Literal
 ContentsIndex
Shared.Literal
Documentation
data Const
Constructors
CConst SourcePos Literal
show/hide Instances
Data Const
Eq Const
Pretty Const
Show Const
Typeable Const
makeDummyConst :: Literal -> Const
Produced by Haddock version 0.7
rmfile ./doc/haddock/Shared-Literal.html hunk ./doc/haddock/Shared-Pretty.html 1 - - -Shared.Pretty
 ContentsIndex
Shared.Pretty
Produced by Haddock version 0.7
rmfile ./doc/haddock/Shared-Pretty.html hunk ./doc/haddock/Shared-Prim.html 1 - - -Shared.Prim
 ContentsIndex
Shared.Prim
Documentation
uniquifyVar :: Var -> State VarGen Var
Produced by Haddock version 0.7
rmfile ./doc/haddock/Shared-Prim.html hunk ./doc/haddock/Shared-Unique.html 1 - - -Shared.Unique
 ContentsIndex
Shared.Unique
Produced by Haddock version 0.7
rmfile ./doc/haddock/Shared-Unique.html hunk ./doc/haddock/Shared-Vanilla.html 1 - - -Shared.Vanilla
 ContentsIndex
Shared.Vanilla
Documentation
vanillaName :: String -> String
vanillaChar :: Char -> String
symbolNames :: [(Char, String)]
Produced by Haddock version 0.7
rmfile ./doc/haddock/Shared-Vanilla.html hunk ./doc/haddock/Shared-Var.html 1 - - -Shared.Var
 ContentsIndex
Shared.Var
Documentation
data Var
Constructors
Var
name :: String
nameModule :: [Var]
nameSpace :: NameSpace
uniqueBind :: VarId
unique :: Int
info :: [VarInfo]
show/hide Instances
Data Var
Eq Var
Free Var
Lint Var
Ord Var
Pretty Var
Show Var
Typeable Var
data VarInfo
Constructors
ISourcePos SourcePos
IBoundBy Var
ISchemeVar Var
IValueVar Var
IValueLiteral Literal
IParent Var
IAlias Var
IString String
show/hide Instances
data NameSpace
Constructors
NameNothing
NameModule
NameField
NameValue
NameType
NameEffect
NameRegion
NameColor
NameClassT
NameClassR
NameClassE
NameSegment
show/hide Instances
data VarId
Constructors
VarId (String, Int)
NoVarId
show/hide Instances
Data VarId
Eq VarId
Ord VarId
Pretty VarId
Show VarId
Typeable VarId
incVarId :: VarId -> VarId
new :: String -> Var
(=^=) :: Var -> Var -> Bool
prettyNameSpace :: NameSpace -> String
cookName :: Var -> String
prettyPos :: Var -> String
prettyPosBound :: Var -> String
sortForallVars :: [Var] -> [Var]
Produced by Haddock version 0.7
rmfile ./doc/haddock/Shared-Var.html hunk ./doc/haddock/Shared-VarGen.html 1 - - -Shared.VarGen
 ContentsIndex
Shared.VarGen
Documentation
type VarGen = VarId
newVarId :: State VarGen VarId
newVar :: State VarGen Var
uniquifyV :: Var -> State VarGen Var
newVars :: Int -> State VarGen [Var]
evalVarGen :: State VarGen a -> String -> a
Produced by Haddock version 0.7
rmfile ./doc/haddock/Shared-VarGen.html hunk ./doc/haddock/Shared-VarUtil.html 1 - - -Shared.VarUtil
 ContentsIndex
Shared.VarUtil
Documentation
newVarF :: VarId -> (Var, VarId)
newVarFV :: Var -> VarId -> (Var, VarId)
newVarFS :: String -> VarId -> (Var, VarId)
type VarGenM = State VarId
newVarN :: NameSpace -> VarGenM Var
newVarNS :: NameSpace -> String -> VarGenM Var
newVarNI :: NameSpace -> [VarInfo] -> VarGenM Var
Produced by Haddock version 0.7
rmfile ./doc/haddock/Shared-VarUtil.html hunk ./doc/haddock/Source-Alias.html 1 - - -Source.Alias
 ContentsIndex
Source.Alias
Documentation
type AliasM = State VarId
aliasTree :: Tree -> Tree
aliasTreeM :: Tree -> AliasM Tree
mainTreeM :: Tree -> AliasM Tree
Produced by Haddock version 0.7
rmfile ./doc/haddock/Source-Alias.html hunk ./doc/haddock/Source-Defix.html 1 - - -Source.Defix
 ContentsIndex
Source.Defix
Documentation
defixP :: [FixDef] -> Top -> (Top, [Error])
defixX :: [FixDef] -> Exp -> State [Error] Exp
defixInfix :: [FixDef] -> [Exp] -> Either [Error] Exp
defixEs :: [FixDef] -> [Exp] -> Either [Error] [Exp]
defixEsLeft :: [FixDef] -> Int -> [Exp] -> [Exp]
defixEsRight :: [FixDef] -> Int -> [Exp] -> [Exp]
defaultFix :: (Int, InfixMode)
getPrec :: [FixDef] -> Var -> Int
getAssoc :: [FixDef] -> Var -> InfixMode
Produced by Haddock version 0.7
rmfile ./doc/haddock/Source-Defix.html hunk ./doc/haddock/Source-DefixApps.html 1 - - -Source.DefixApps
 ContentsIndex
Source.DefixApps
Documentation
defixApps :: [Exp] -> [Exp]
dropApps :: [Exp] -> [Exp]
rewriteApps :: [Exp] -> [Exp]
rewriteApp :: [Exp] -> Exp
flattenApps :: Exp -> [Exp]
unflattenApps :: [Exp] -> Exp
Produced by Haddock version 0.7
rmfile ./doc/haddock/Source-DefixApps.html hunk ./doc/haddock/Source-Error.html 1 - - -Source.Error
 ContentsIndex
Source.Error
Documentation
data Error
Constructors
ErrorParse TokenP String
ErrorParseBefore TokenP
ErrorParseEnd
ErrorUndefinedVar
eUndefined :: Var
ErrorRedefinedVar
eFirstDefined :: Var
eRedefined :: Var
ErrorDefixNonAssoc [Var]
ErrorDefixMixedAssoc [Var]
ErrorPatternAirity
eCtorVar :: Var
eCtorAirity :: Int
ePatternAirity :: Int
show/hide Instances
prettyPosT :: TokenP -> String
Produced by Haddock version 0.7
rmfile ./doc/haddock/Source-Error.html hunk ./doc/haddock/Source-Exp.html 1 - - -Source.Exp
 ContentsIndex
Source.Exp
Documentation
type Tree = [Top]
data Top
Constructors
PModule [Var]
PTypeDecl Var Type
PInfix InfixMode Int [Var]
PImportExtern Var Type (Maybe Type)
PImportModule [Var]
PData Var [Var] [(Var, [DataField Exp Type])]
PEffect Var
PClassTC Var [Var] [(Var, [Var])] [([Var], Type)]
PClassT Var
PClassR Var
PClassE Var
PInstance Var [Type] [(Var, [Type])] [Stmt]
PStmt Stmt
show/hide Instances
Data Top
Eq Top
Lint Top
Pretty Top
Rename Top
Show Top
Typeable Top
data InfixMode
Constructors
InfixLeft
InfixRight
InfixNone
InfixSuspend
show/hide Instances
type FixDef = (Var, (Int, InfixMode))
type Ctor = (Var, [DataField Exp Type])
type DataDef = (Var, [Var], [Ctor])
data Exp
Constructors
XNil
XUnit
XVoid
XConst Const
XVar Var
XProj Exp Proj
XLambda [Var] Exp
XApp Exp Exp
XCase SourcePos Exp [Alt]
XLet [Stmt] Exp
XDo [Stmt]
XIfThenElse Exp Exp Exp
XAppE Exp Exp [Effect]
XCaseE Exp [Alt] [Effect]
XAt Var Exp
XAnnot [Annot] Exp
XCaseL SourcePos [Alt]
XProjF Proj
XOp Var
XDefix [Exp]
XDefixApps [Exp]
XTry SourcePos Exp [Alt] (Maybe Exp)
XThrow SourcePos Exp
XWhile SourcePos Exp Exp
XWhen SourcePos Exp Exp
XUnless SourcePos Exp Exp
XAppSusp Exp Exp
show/hide Instances
data Proj
Constructors
JField Var
JFieldR Var
show/hide Instances
Data Proj
Eq Proj
Pretty Proj
Rename Proj
Show Proj
Typeable Proj
data Annot
Constructors
ATypeVar Var
AEffectVar Var
show/hide Instances
Data Annot
Eq Annot
Pretty Annot
Show Annot
Typeable Annot
data Stmt
Constructors
SStmt Exp
SBind Var [Exp] Exp
show/hide Instances
Data Stmt
Eq Stmt
Lint Stmt
Pretty Stmt
Rename Stmt
Show Stmt
Typeable Stmt
type Alt = (Var, [Var], Exp)
data Constraint
Constructors
CClosure Var Effect [Env]
show/hide Instances
Produced by Haddock version 0.7
rmfile ./doc/haddock/Source-Exp.html hunk ./doc/haddock/Source-FreeVarsE.html 1 - - -Source.FreeVarsE
 ContentsIndex
Source.FreeVarsE
Documentation
freeVarsE :: Exp -> [Var]
freeVE :: (?bound :: [Var]) -> Exp -> [Var]
freeVarsS :: Stmt -> [Var]
freeVS :: (?bound :: [Var]) -> Stmt -> [Var]
freeVA :: (?bound :: [Var]) -> Alt -> [Var]
Produced by Haddock version 0.7
rmfile ./doc/haddock/Source-FreeVarsE.html hunk ./doc/haddock/Source-Hacks.html 1 - - -Source.Hacks
 ContentsIndex
Source.Hacks
Documentation
expandPClassT :: Top -> Top
rewriteX :: Map String Var -> Tree -> Tree
rewriteXM :: (?coreVars :: Map String Var) -> Exp -> VarGenM Exp
makeTry :: (?coreVars :: Map String Var) -> SourcePos -> [Stmt] -> Exp -> [Alt] -> VarGenM Exp
addWithAlt :: Exp -> Alt -> Alt
makeImp :: (?coreVars :: Map String Var) -> String -> SourcePos -> Exp -> Exp -> VarGenM Exp
Produced by Haddock version 0.7
rmfile ./doc/haddock/Source-Hacks.html hunk ./doc/haddock/Source-Lint.html 1 - - -Source.Lint
 ContentsIndex
Source.Lint
Documentation
lintFinal :: Tree -> Tree
class Lint a where
Methods
lint :: a -> a
show/hide Instances
Lint Alt
Lint Effect
Lint Env
Lint Exp
Lint Region
Lint Stmt
Lint Top
Lint Type
Lint Var
(Lint a, Lint b) => Lint (a, b)
Lint a => Lint (Maybe a)
Lint a => Lint [a]
Produced by Haddock version 0.7
rmfile ./doc/haddock/Source-Lint.html hunk ./doc/haddock/Source-Parser.html 1 - - -Source.Parser
 ContentsIndex
Source.Parser
Documentation
data HappyAbsSyn
Constructors
HappyTerminal TokenP
HappyErrorToken Int
HappyAbsSyn4 [Top]
HappyAbsSyn6 ()
HappyAbsSyn7 [Var]
HappyAbsSyn8 InfixMode
HappyAbsSyn10 Top
HappyAbsSyn12 ([Var], Type)
HappyAbsSyn13 [([Var], Type)]
HappyAbsSyn14 [(Var, [Var])]
HappyAbsSyn16 (Var, [Var])
HappyAbsSyn17 [(Var, [Type])]
HappyAbsSyn19 (Var, [Type])
HappyAbsSyn20 Exp
HappyAbsSyn21 [Alt]
HappyAbsSyn22 Alt
HappyAbsSyn23 (Maybe Exp)
HappyAbsSyn26 [Exp]
HappyAbsSyn28 Const
HappyAbsSyn29 Stmt
HappyAbsSyn30 [Stmt]
HappyAbsSyn40 [(Var, [DataField Exp Type])]
HappyAbsSyn41 (Var, [DataField Exp Type])
HappyAbsSyn42 (DataField Exp Type)
HappyAbsSyn44 [DataField Exp Type]
HappyAbsSyn47 Var
HappyAbsSyn49 Type
HappyAbsSyn54 [Type]
HappyAbsSyn57 [Region]
HappyAbsSyn58 Region
HappyAbsSyn59 [(Var, Kind)]
HappyAbsSyn60 (Var, Kind)
HappyAbsSyn61 Kind
HappyAbsSyn62 [Fetter]
HappyAbsSyn63 Fetter
HappyAbsSyn64 Effect
HappyAbsSyn66 [Effect]
HappyAbsSyn67 [Env]
HappyAbsSyn68 Env
type HappyReduction = Int -> TokenP -> HappyState TokenP (HappyStk HappyAbsSyn -> [TokenP] -> HappyAbsSyn) -> [HappyState TokenP (HappyStk HappyAbsSyn -> [TokenP] -> HappyAbsSyn)] -> HappyStk HappyAbsSyn -> [TokenP] -> HappyAbsSyn
action_0 :: Int -> HappyReduction
action_1 :: Int -> HappyReduction
action_2 :: Int -> HappyReduction
action_3 :: Int -> HappyReduction
action_4 :: Int -> HappyReduction
action_5 :: Int -> HappyReduction
action_6 :: Int -> HappyReduction
action_7 :: Int -> HappyReduction
action_8 :: Int -> HappyReduction
action_9 :: Int -> HappyReduction
action_10 :: Int -> HappyReduction
action_11 :: Int -> HappyReduction
action_12 :: Int -> HappyReduction
action_13 :: Int -> HappyReduction
action_14 :: Int -> HappyReduction
action_15 :: Int -> HappyReduction
action_16 :: Int -> HappyReduction
action_17 :: Int -> HappyReduction
action_18 :: Int -> HappyReduction
action_19 :: Int -> HappyReduction
action_20 :: Int -> HappyReduction
action_21 :: Int -> HappyReduction
action_22 :: Int -> HappyReduction
action_23 :: Int -> HappyReduction
action_24 :: Int -> HappyReduction
action_25 :: Int -> HappyReduction
action_26 :: Int -> HappyReduction
action_27 :: Int -> HappyReduction
action_28 :: Int -> HappyReduction
action_29 :: Int -> HappyReduction
action_30 :: Int -> HappyReduction
action_31 :: Int -> HappyReduction
action_32 :: Int -> HappyReduction
action_33 :: Int -> HappyReduction
action_34 :: Int -> HappyReduction
action_35 :: Int -> HappyReduction
action_36 :: Int -> HappyReduction
action_37 :: Int -> HappyReduction
action_38 :: Int -> HappyReduction
action_39 :: Int -> HappyReduction
action_40 :: Int -> HappyReduction
action_41 :: Int -> HappyReduction
action_42 :: Int -> HappyReduction
action_43 :: Int -> HappyReduction
action_44 :: Int -> HappyReduction
action_45 :: Int -> HappyReduction
action_46 :: Int -> HappyReduction
action_47 :: Int -> HappyReduction
action_48 :: Int -> HappyReduction
action_49 :: Int -> HappyReduction
action_50 :: Int -> HappyReduction
action_51 :: Int -> HappyReduction
action_52 :: Int -> HappyReduction
action_53 :: Int -> HappyReduction
action_54 :: Int -> HappyReduction
action_55 :: Int -> HappyReduction
action_56 :: Int -> HappyReduction
action_57 :: Int -> HappyReduction
action_58 :: Int -> HappyReduction
action_59 :: Int -> HappyReduction
action_60 :: Int -> HappyReduction
action_61 :: Int -> HappyReduction
action_62 :: Int -> HappyReduction
action_63 :: Int -> HappyReduction
action_64 :: Int -> HappyReduction
action_65 :: Int -> HappyReduction
action_66 :: Int -> HappyReduction
action_67 :: Int -> HappyReduction
action_68 :: Int -> HappyReduction
action_69 :: Int -> HappyReduction
action_70 :: Int -> HappyReduction
action_71 :: Int -> HappyReduction
action_72 :: Int -> HappyReduction
action_73 :: Int -> HappyReduction
action_74 :: Int -> HappyReduction
action_75 :: Int -> HappyReduction
action_76 :: Int -> HappyReduction
action_77 :: Int -> HappyReduction
action_78 :: Int -> HappyReduction
action_79 :: Int -> HappyReduction
action_80 :: Int -> HappyReduction
action_81 :: Int -> HappyReduction
action_82 :: Int -> HappyReduction
action_83 :: Int -> HappyReduction
action_84 :: Int -> HappyReduction
action_85 :: Int -> HappyReduction
action_86 :: Int -> HappyReduction
action_87 :: Int -> HappyReduction
action_88 :: Int -> HappyReduction
action_89 :: Int -> HappyReduction
action_90 :: Int -> HappyReduction
action_91 :: Int -> HappyReduction
action_92 :: Int -> HappyReduction
action_93 :: Int -> HappyReduction
action_94 :: Int -> HappyReduction
action_95 :: Int -> HappyReduction
action_96 :: Int -> HappyReduction
action_97 :: Int -> HappyReduction
action_98 :: Int -> HappyReduction
action_99 :: Int -> HappyReduction
action_100 :: Int -> HappyReduction
action_101 :: Int -> HappyReduction
action_102 :: Int -> HappyReduction
action_103 :: Int -> HappyReduction
action_104 :: Int -> HappyReduction
action_105 :: Int -> HappyReduction
action_106 :: Int -> HappyReduction
action_107 :: Int -> HappyReduction
action_108 :: Int -> HappyReduction
action_109 :: Int -> HappyReduction
action_110 :: Int -> HappyReduction
action_111 :: Int -> HappyReduction
action_112 :: Int -> HappyReduction
action_113 :: Int -> HappyReduction
action_114 :: Int -> HappyReduction
action_115 :: Int -> HappyReduction
action_116 :: Int -> HappyReduction
action_117 :: Int -> HappyReduction
action_118 :: Int -> HappyReduction
action_119 :: Int -> HappyReduction
action_120 :: Int -> HappyReduction
action_121 :: Int -> HappyReduction
action_122 :: Int -> HappyReduction
action_123 :: Int -> HappyReduction
action_124 :: Int -> HappyReduction
action_125 :: Int -> HappyReduction
action_126 :: Int -> HappyReduction
action_127 :: Int -> HappyReduction
action_128 :: Int -> HappyReduction
action_129 :: Int -> HappyReduction
action_130 :: Int -> HappyReduction
action_131 :: Int -> HappyReduction
action_132 :: Int -> HappyReduction
action_133 :: Int -> HappyReduction
action_134 :: Int -> HappyReduction
action_135 :: Int -> HappyReduction
action_136 :: Int -> HappyReduction
action_137 :: Int -> HappyReduction
action_138 :: Int -> HappyReduction
action_139 :: Int -> HappyReduction
action_140 :: Int -> HappyReduction
action_141 :: Int -> HappyReduction
action_142 :: Int -> HappyReduction
action_143 :: Int -> HappyReduction
action_144 :: Int -> HappyReduction
action_145 :: Int -> HappyReduction
action_146 :: Int -> HappyReduction
action_147 :: Int -> HappyReduction
action_148 :: Int -> HappyReduction
action_149 :: Int -> HappyReduction
action_150 :: Int -> HappyReduction
action_151 :: Int -> HappyReduction
action_152 :: Int -> HappyReduction
action_153 :: Int -> HappyReduction
action_154 :: Int -> HappyReduction
action_155 :: Int -> HappyReduction
action_156 :: Int -> HappyReduction
action_157 :: Int -> HappyReduction
action_158 :: Int -> HappyReduction
action_159 :: Int -> HappyReduction
action_160 :: Int -> HappyReduction
action_161 :: Int -> HappyReduction
action_162 :: Int -> HappyReduction
action_163 :: Int -> HappyReduction
action_164 :: Int -> HappyReduction
action_165 :: Int -> HappyReduction
action_166 :: Int -> HappyReduction
action_167 :: Int -> HappyReduction
action_168 :: Int -> HappyReduction
action_169 :: Int -> HappyReduction
action_170 :: Int -> HappyReduction
action_171 :: Int -> HappyReduction
action_172 :: Int -> HappyReduction
action_173 :: Int -> HappyReduction
action_174 :: Int -> HappyReduction
action_175 :: Int -> HappyReduction
action_176 :: Int -> HappyReduction
action_177 :: Int -> HappyReduction
action_178 :: Int -> HappyReduction
action_179 :: Int -> HappyReduction
action_180 :: Int -> HappyReduction
action_181 :: Int -> HappyReduction
action_182 :: Int -> HappyReduction
action_183 :: Int -> HappyReduction
action_184 :: Int -> HappyReduction
action_185 :: Int -> HappyReduction
action_186 :: Int -> HappyReduction
action_187 :: Int -> HappyReduction
action_188 :: Int -> HappyReduction
action_189 :: Int -> HappyReduction
action_190 :: Int -> HappyReduction
action_191 :: Int -> HappyReduction
action_192 :: Int -> HappyReduction
action_193 :: Int -> HappyReduction
action_194 :: Int -> HappyReduction
action_195 :: Int -> HappyReduction
action_196 :: Int -> HappyReduction
action_197 :: Int -> HappyReduction
action_198 :: Int -> HappyReduction
action_199 :: Int -> HappyReduction
action_200 :: Int -> HappyReduction
action_201 :: Int -> HappyReduction
action_202 :: Int -> HappyReduction
action_203 :: Int -> HappyReduction
action_204 :: Int -> HappyReduction
action_205 :: Int -> HappyReduction
action_206 :: Int -> HappyReduction
action_207 :: Int -> HappyReduction
action_208 :: Int -> HappyReduction
action_209 :: Int -> HappyReduction
action_210 :: Int -> HappyReduction
action_211 :: Int -> HappyReduction
action_212 :: Int -> HappyReduction
action_213 :: Int -> HappyReduction
action_214 :: Int -> HappyReduction
action_215 :: Int -> HappyReduction
action_216 :: Int -> HappyReduction
action_217 :: Int -> HappyReduction
action_218 :: Int -> HappyReduction
action_219 :: Int -> HappyReduction
action_220 :: Int -> HappyReduction
action_221 :: Int -> HappyReduction
action_222 :: Int -> HappyReduction
action_223 :: Int -> HappyReduction
action_224 :: Int -> HappyReduction
action_225 :: Int -> HappyReduction
action_226 :: Int -> HappyReduction
action_227 :: Int -> HappyReduction
action_228 :: Int -> HappyReduction
action_229 :: Int -> HappyReduction
action_230 :: Int -> HappyReduction
action_231 :: Int -> HappyReduction
action_232 :: Int -> HappyReduction
action_233 :: Int -> HappyReduction
action_234 :: Int -> HappyReduction
action_235 :: Int -> HappyReduction
action_236 :: Int -> HappyReduction
action_237 :: Int -> HappyReduction
action_238 :: Int -> HappyReduction
action_239 :: Int -> HappyReduction
action_240 :: Int -> HappyReduction
action_241 :: Int -> HappyReduction
action_242 :: Int -> HappyReduction
action_243 :: Int -> HappyReduction
action_244 :: Int -> HappyReduction
action_245 :: Int -> HappyReduction
action_246 :: Int -> HappyReduction
action_247 :: Int -> HappyReduction
action_248 :: Int -> HappyReduction
action_249 :: Int -> HappyReduction
action_250 :: Int -> HappyReduction
action_251 :: Int -> HappyReduction
action_252 :: Int -> HappyReduction
action_253 :: Int -> HappyReduction
action_254 :: Int -> HappyReduction
action_255 :: Int -> HappyReduction
action_256 :: Int -> HappyReduction
action_257 :: Int -> HappyReduction
action_258 :: Int -> HappyReduction
action_259 :: Int -> HappyReduction
action_260 :: Int -> HappyReduction
action_261 :: Int -> HappyReduction
action_262 :: Int -> HappyReduction
action_263 :: Int -> HappyReduction
action_264 :: Int -> HappyReduction
action_265 :: Int -> HappyReduction
action_266 :: Int -> HappyReduction
action_267 :: Int -> HappyReduction
action_268 :: Int -> HappyReduction
action_269 :: Int -> HappyReduction
action_270 :: Int -> HappyReduction
action_271 :: Int -> HappyReduction
action_272 :: Int -> HappyReduction
action_273 :: Int -> HappyReduction
action_274 :: Int -> HappyReduction
action_275 :: Int -> HappyReduction
action_276 :: Int -> HappyReduction
action_277 :: Int -> HappyReduction
action_278 :: Int -> HappyReduction
action_279 :: Int -> HappyReduction
action_280 :: Int -> HappyReduction
action_281 :: Int -> HappyReduction
action_282 :: Int -> HappyReduction
action_283 :: Int -> HappyReduction
action_284 :: Int -> HappyReduction
action_285 :: Int -> HappyReduction
action_286 :: Int -> HappyReduction
action_287 :: Int -> HappyReduction
action_288 :: Int -> HappyReduction
action_289 :: Int -> HappyReduction
action_290 :: Int -> HappyReduction
action_291 :: Int -> HappyReduction
action_292 :: Int -> HappyReduction
action_293 :: Int -> HappyReduction
action_294 :: Int -> HappyReduction
action_295 :: Int -> HappyReduction
action_296 :: Int -> HappyReduction
action_297 :: Int -> HappyReduction
action_298 :: Int -> HappyReduction
action_299 :: Int -> HappyReduction
action_300 :: Int -> HappyReduction
action_301 :: Int -> HappyReduction
action_302 :: Int -> HappyReduction
action_303 :: Int -> HappyReduction
action_304 :: Int -> HappyReduction
action_305 :: Int -> HappyReduction
action_306 :: Int -> HappyReduction
action_307 :: Int -> HappyReduction
action_308 :: Int -> HappyReduction
action_309 :: Int -> HappyReduction
action_310 :: Int -> HappyReduction
action_311 :: Int -> HappyReduction
action_312 :: Int -> HappyReduction
action_313 :: Int -> HappyReduction
action_314 :: Int -> HappyReduction
action_315 :: Int -> HappyReduction
action_316 :: Int -> HappyReduction
action_317 :: Int -> HappyReduction
action_318 :: Int -> HappyReduction
action_319 :: Int -> HappyReduction
action_320 :: Int -> HappyReduction
action_321 :: Int -> HappyReduction
action_322 :: Int -> HappyReduction
action_323 :: Int -> HappyReduction
action_324 :: Int -> HappyReduction
action_325 :: Int -> HappyReduction
action_326 :: Int -> HappyReduction
action_327 :: Int -> HappyReduction
action_328 :: Int -> HappyReduction
action_329 :: Int -> HappyReduction
action_330 :: Int -> HappyReduction
action_331 :: Int -> HappyReduction
action_332 :: Int -> HappyReduction
action_333 :: Int -> HappyReduction
action_334 :: Int -> HappyReduction
action_335 :: Int -> HappyReduction
action_336 :: Int -> HappyReduction
action_337 :: Int -> HappyReduction
action_338 :: Int -> HappyReduction
action_339 :: Int -> HappyReduction
action_340 :: Int -> HappyReduction
action_341 :: Int -> HappyReduction
action_342 :: Int -> HappyReduction
action_343 :: Int -> HappyReduction
action_344 :: Int -> HappyReduction
action_345 :: Int -> HappyReduction
action_346 :: Int -> HappyReduction
action_347 :: Int -> HappyReduction
action_348 :: Int -> HappyReduction
action_349 :: Int -> HappyReduction
action_350 :: Int -> HappyReduction
action_351 :: Int -> HappyReduction
action_352 :: Int -> HappyReduction
action_353 :: Int -> HappyReduction
action_354 :: Int -> HappyReduction
action_355 :: Int -> HappyReduction
action_356 :: Int -> HappyReduction
action_357 :: Int -> HappyReduction
action_358 :: Int -> HappyReduction
action_359 :: Int -> HappyReduction
action_360 :: Int -> HappyReduction
action_361 :: Int -> HappyReduction
action_362 :: Int -> HappyReduction
action_363 :: Int -> HappyReduction
action_364 :: Int -> HappyReduction
action_365 :: Int -> HappyReduction
action_366 :: Int -> HappyReduction
action_367 :: Int -> HappyReduction
action_368 :: Int -> HappyReduction
action_369 :: Int -> HappyReduction
action_370 :: Int -> HappyReduction
action_371 :: Int -> HappyReduction
action_372 :: Int -> HappyReduction
action_373 :: Int -> HappyReduction
action_374 :: Int -> HappyReduction
action_375 :: Int -> HappyReduction
action_376 :: Int -> HappyReduction
action_377 :: Int -> HappyReduction
action_378 :: Int -> HappyReduction
action_379 :: Int -> HappyReduction
action_380 :: Int -> HappyReduction
action_381 :: Int -> HappyReduction
action_382 :: Int -> HappyReduction
action_383 :: Int -> HappyReduction
action_384 :: Int -> HappyReduction
action_385 :: Int -> HappyReduction
action_386 :: Int -> HappyReduction
action_387 :: Int -> HappyReduction
action_388 :: Int -> HappyReduction
action_389 :: Int -> HappyReduction
action_390 :: Int -> HappyReduction
action_391 :: Int -> HappyReduction
action_392 :: Int -> HappyReduction
action_393 :: Int -> HappyReduction
action_394 :: Int -> HappyReduction
action_395 :: Int -> HappyReduction
action_396 :: Int -> HappyReduction
action_397 :: Int -> HappyReduction
action_398 :: Int -> HappyReduction
action_399 :: Int -> HappyReduction
action_400 :: Int -> HappyReduction
action_401 :: Int -> HappyReduction
action_402 :: Int -> HappyReduction
action_403 :: Int -> HappyReduction
action_404 :: Int -> HappyReduction
action_405 :: Int -> HappyReduction
action_406 :: Int -> HappyReduction
action_407 :: Int -> HappyReduction
action_408 :: Int -> HappyReduction
action_409 :: Int -> HappyReduction
action_410 :: Int -> HappyReduction
action_411 :: Int -> HappyReduction
action_412 :: Int -> HappyReduction
action_413 :: Int -> HappyReduction
action_414 :: Int -> HappyReduction
action_415 :: Int -> HappyReduction
action_416 :: Int -> HappyReduction
action_417 :: Int -> HappyReduction
action_418 :: Int -> HappyReduction
action_419 :: Int -> HappyReduction
action_420 :: Int -> HappyReduction
action_421 :: Int -> HappyReduction
action_422 :: Int -> HappyReduction
action_423 :: Int -> HappyReduction
action_424 :: Int -> HappyReduction
action_425 :: Int -> HappyReduction
action_426 :: Int -> HappyReduction
action_427 :: Int -> HappyReduction
action_428 :: Int -> HappyReduction
action_429 :: Int -> HappyReduction
happyReduce_1 :: HappyReduction
happyReduce_2 :: HappyReduction
happyReduce_3 :: HappyReduction
happyReduce_4 :: HappyReduction
happyReduce_5 :: HappyReduction
happyReduce_6 :: HappyReduction
happyReduce_7 :: HappyReduction
happyReduce_8 :: HappyReduction
happyReduce_9 :: HappyReduction
happyReduce_10 :: HappyReduction
happyReduce_11 :: HappyReduction
happyReduce_12 :: HappyReduction
happyReduce_13 :: HappyReduction
happyReduce_14 :: HappyReduction
happyReduce_15 :: HappyReduction
happyReduce_16 :: HappyReduction
happyReduce_17 :: HappyReduction
happyReduce_18 :: HappyReduction
happyReduce_19 :: HappyReduction
happyReduce_20 :: HappyReduction
happyReduce_21 :: HappyReduction
happyReduce_22 :: HappyReduction
happyReduce_23 :: HappyReduction
happyReduce_24 :: HappyReduction
happyReduce_25 :: HappyReduction
happyReduce_26 :: HappyReduction
happyReduce_27 :: HappyReduction
happyReduce_28 :: HappyReduction
happyReduce_29 :: HappyReduction
happyReduce_30 :: HappyReduction
happyReduce_31 :: HappyReduction
happyReduce_32 :: HappyReduction
happyReduce_33 :: HappyReduction
happyReduce_34 :: HappyReduction
happyReduce_35 :: HappyReduction
happyReduce_36 :: HappyReduction
happyReduce_37 :: HappyReduction
happyReduce_38 :: HappyReduction
happyReduce_39 :: HappyReduction
happyReduce_40 :: HappyReduction
happyReduce_41 :: HappyReduction
happyReduce_42 :: HappyReduction
happyReduce_43 :: HappyReduction
happyReduce_44 :: HappyReduction
happyReduce_45 :: HappyReduction
happyReduce_46 :: HappyReduction
happyReduce_47 :: HappyReduction
happyReduce_48 :: HappyReduction
happyReduce_49 :: HappyReduction
happyReduce_50 :: HappyReduction
happyReduce_51 :: HappyReduction
happyReduce_52 :: HappyReduction
happyReduce_53 :: HappyReduction
happyReduce_54 :: HappyReduction
happyReduce_55 :: HappyReduction
happyReduce_56 :: HappyReduction
happyReduce_57 :: HappyReduction
happyReduce_58 :: HappyReduction
happyReduce_59 :: HappyReduction
happyReduce_60 :: HappyReduction
happyReduce_61 :: HappyReduction
happyReduce_62 :: HappyReduction
happyReduce_63 :: HappyReduction
happyReduce_64 :: HappyReduction
happyReduce_65 :: HappyReduction
happyReduce_66 :: HappyReduction
happyReduce_67 :: HappyReduction
happyReduce_68 :: HappyReduction
happyReduce_69 :: HappyReduction
happyReduce_70 :: HappyReduction
happyReduce_71 :: HappyReduction
happyReduce_72 :: HappyReduction
happyReduce_73 :: HappyReduction
happyReduce_74 :: HappyReduction
happyReduce_75 :: HappyReduction
happyReduce_76 :: HappyReduction
happyReduce_77 :: HappyReduction
happyReduce_78 :: HappyReduction
happyReduce_79 :: HappyReduction
happyReduce_80 :: HappyReduction
happyReduce_81 :: HappyReduction
happyReduce_82 :: HappyReduction
happyReduce_83 :: HappyReduction
happyReduce_84 :: HappyReduction
happyReduce_85 :: HappyReduction
happyReduce_86 :: HappyReduction
happyReduce_87 :: HappyReduction
happyReduce_88 :: HappyReduction
happyReduce_89 :: HappyReduction
happyReduce_90 :: HappyReduction
happyReduce_91 :: HappyReduction
happyReduce_92 :: HappyReduction
happyReduce_93 :: HappyReduction
happyReduce_94 :: HappyReduction
happyReduce_95 :: HappyReduction
happyReduce_96 :: HappyReduction
happyReduce_97 :: HappyReduction
happyReduce_98 :: HappyReduction
happyReduce_99 :: HappyReduction
happyReduce_100 :: HappyReduction
happyReduce_101 :: HappyReduction
happyReduce_102 :: HappyReduction
happyReduce_103 :: HappyReduction
happyReduce_104 :: HappyReduction
happyReduce_105 :: HappyReduction
happyReduce_106 :: HappyReduction
happyReduce_107 :: HappyReduction
happyReduce_108 :: HappyReduction
happyReduce_109 :: HappyReduction
happyReduce_110 :: HappyReduction
happyReduce_111 :: HappyReduction
happyReduce_112 :: HappyReduction
happyReduce_113 :: HappyReduction
happyReduce_114 :: HappyReduction
happyReduce_115 :: HappyReduction
happyReduce_116 :: HappyReduction
happyReduce_117 :: HappyReduction
happyReduce_118 :: HappyReduction
happyReduce_119 :: HappyReduction
happyReduce_120 :: HappyReduction
happyReduce_121 :: HappyReduction
happyReduce_122 :: HappyReduction
happyReduce_123 :: HappyReduction
happyReduce_124 :: HappyReduction
happyReduce_125 :: HappyReduction
happyReduce_126 :: HappyReduction
happyReduce_127 :: HappyReduction
happyReduce_128 :: HappyReduction
happyReduce_129 :: HappyReduction
happyReduce_130 :: HappyReduction
happyReduce_131 :: HappyReduction
happyReduce_132 :: HappyReduction
happyReduce_133 :: HappyReduction
happyReduce_134 :: HappyReduction
happyReduce_135 :: HappyReduction
happyReduce_136 :: HappyReduction
happyReduce_137 :: HappyReduction
happyReduce_138 :: HappyReduction
happyReduce_139 :: HappyReduction
happyReduce_140 :: HappyReduction
happyReduce_141 :: HappyReduction
happyReduce_142 :: HappyReduction
happyReduce_143 :: HappyReduction
happyReduce_144 :: HappyReduction
happyReduce_145 :: HappyReduction
happyReduce_146 :: HappyReduction
happyReduce_147 :: HappyReduction
happyReduce_148 :: HappyReduction
happyReduce_149 :: HappyReduction
happyReduce_150 :: HappyReduction
happyReduce_151 :: HappyReduction
happyReduce_152 :: HappyReduction
happyReduce_153 :: HappyReduction
happyReduce_154 :: HappyReduction
happyReduce_155 :: HappyReduction
happyReduce_156 :: HappyReduction
happyReduce_157 :: HappyReduction
happyReduce_158 :: HappyReduction
happyReduce_159 :: HappyReduction
happyReduce_160 :: HappyReduction
happyReduce_161 :: HappyReduction
happyReduce_162 :: HappyReduction
happyReduce_163 :: HappyReduction
happyReduce_164 :: HappyReduction
happyReduce_165 :: HappyReduction
happyReduce_166 :: HappyReduction
happyReduce_167 :: HappyReduction
happyReduce_168 :: HappyReduction
happyReduce_169 :: HappyReduction
happyReduce_170 :: HappyReduction
happyReduce_171 :: HappyReduction
happyReduce_172 :: HappyReduction
happyReduce_173 :: HappyReduction
happyReduce_174 :: HappyReduction
happyReduce_175 :: HappyReduction
happyReduce_176 :: HappyReduction
happyReduce_177 :: HappyReduction
happyReduce_178 :: HappyReduction
happyReduce_179 :: HappyReduction
happyReduce_180 :: HappyReduction
happyReduce_181 :: HappyReduction
happyReduce_182 :: HappyReduction
happyReduce_183 :: HappyReduction
happyReduce_184 :: HappyReduction
happyReduce_185 :: HappyReduction
happyReduce_186 :: HappyReduction
happyReduce_187 :: HappyReduction
happyReduce_188 :: HappyReduction
happyReduce_189 :: HappyReduction
happyReduce_190 :: HappyReduction
happyReduce_191 :: HappyReduction
happyReduce_192 :: HappyReduction
happyReduce_193 :: HappyReduction
happyReduce_194 :: HappyReduction
happyReduce_195 :: HappyReduction
happyReduce_196 :: HappyReduction
happyReduce_197 :: HappyReduction
happyReduce_198 :: HappyReduction
happyReduce_199 :: HappyReduction
happyReduce_200 :: HappyReduction
happyReduce_201 :: HappyReduction
happyReduce_202 :: HappyReduction
happyReduce_203 :: HappyReduction
happyReduce_204 :: HappyReduction
happyReduce_205 :: HappyReduction
happyReduce_206 :: HappyReduction
happyReduce_207 :: HappyReduction
happyReduce_208 :: HappyReduction
happyError :: [TokenP] -> a
toVar :: TokenP -> Var
toVar_table :: [(Token, String)]
makeVar :: String -> TokenP -> Var
makeTVar :: String -> TokenP -> Var
makeTuple :: Var -> [Exp] -> Exp
makeList :: TokenP -> [Exp] -> Exp
makeApp :: [Exp] -> Exp
checkVar :: TokenP -> Exp -> Var
makeConst :: TokenP -> Const
getCIntValue :: TokenP -> Int
spTP :: TokenP -> SourcePos
gatherEither :: [Either a b] -> ([a], [b])
gatherEither' :: ([a], [b]) -> [Either a b] -> ([a], [b])
data HappyStk a
Constructors
HappyStk a (HappyStk a)
newtype HappyState b c
Constructors
HappyState (Int -> Int -> b -> HappyState b c -> [HappyState b c] -> c)
happyDoSeq :: a -> b -> b
happyDontSeq :: a -> b -> b
Produced by Haddock version 0.7
rmfile ./doc/haddock/Source-Parser.html hunk ./doc/haddock/Source-Plate-Trans.html 1 - - -Source.Plate.Trans
 ContentsIndex
Source.Plate.Trans
Documentation
dropStateM :: State s b -> b
data TransTable m
Constructors
TransTable
transV :: (Var -> m Var)
transX :: (Exp -> m Exp)
decendX :: Bool
transS :: (Stmt -> m Stmt)
transA :: (Alt -> m Alt)
transP :: (Top -> m Top)
transTableId :: TransTable (State s)
transUpExpPM :: Monad m => TransTable m -> Top -> m Top
transUpExpSM :: Monad m => TransTable m -> Stmt -> m Stmt
transUpExpXM :: Monad m => TransTable m -> Exp -> m Exp
transUpExpAM :: Monad m => TransTable m -> Alt -> m Alt
Produced by Haddock version 0.7
rmfile ./doc/haddock/Source-Plate-Trans.html hunk ./doc/haddock/Source-Pretty.html 1 - - -Source.Pretty
 ContentsIndex
Source.Pretty
Documentation
prettyVTT :: Var -> Type -> Maybe Type -> PrettyP
prettyCtor :: (Var, [DataField Exp Type]) -> PrettyP
prettyA :: Alt -> PrettyP
prettyFD :: FixDef -> String
Produced by Haddock version 0.7
rmfile ./doc/haddock/Source-Pretty.html hunk ./doc/haddock/Source-Rename.html 1 - - -Source.Rename
 ContentsIndex
Source.Rename
Documentation
renameTree :: Tree -> RenameM Tree
rename_VT :: (Var, Type) -> RenameM (Var, Type)
renameClassInh :: (Var, [Var]) -> RenameM (Var, [Var])
renameClassSig :: ([Var], Type) -> RenameM ([Var], Type)
renameInstInh :: (Var, [Type]) -> RenameM (Var, [Type])
renameCtor :: (Var, [DataField Exp Type]) -> RenameM (Var, [DataField Exp Type])
renameData :: Var -> [Var] -> [(Var, [DataField Exp Type])] -> RenameM (Var, [Var], [Ctor])
renameA :: (Var, [Var], Exp) -> RenameM (Var, [Var], Exp)
renameSs :: [Stmt] -> RenameM [Stmt]
renamePat :: Exp -> RenameM Exp
lookupZ :: Var -> RenameM Var
lbindZ :: Var -> RenameM Var
bindZ :: Var -> RenameM Var
Produced by Haddock version 0.7
rmfile ./doc/haddock/Source-Rename.html hunk ./doc/haddock/Source-RenameM.html 1 - - -Source.RenameM
 ContentsIndex
Source.RenameM
Documentation
class Rename a where
Methods
rename :: a -> RenameM a
show/hide Instances
type RenameM = State RenameS
data RenameS
Constructors
RenameS
stateTrace :: [String]
stateDebug :: Bool
stateErrors :: [Error]
stateGen :: (Map NameSpace VarId)
stateCurrentModule :: [Var]
stateStack :: (Map NameSpace [Map String Var])
stateCoreVar :: (Map String Var)
traceM :: String -> RenameM ()
runRename :: RenameM a -> a
bindN :: NameSpace -> Var -> RenameM Var
bindCoreVar :: Var -> RenameM ()
renameVarN :: NameSpace -> Var -> RenameM Var
lookupNM :: NameSpace -> Var -> RenameM (Maybe Var)
lookupNM' :: String -> [Map String Var] -> Maybe Var
lookupN :: NameSpace -> Var -> RenameM Var
lbindN :: NameSpace -> Var -> RenameM Var
pushN :: NameSpace -> RenameM ()
popN :: NameSpace -> RenameM ()
Produced by Haddock version 0.7
rmfile ./doc/haddock/Source-RenameM.html hunk ./doc/haddock/Source-Separate.html 1 - - -Source.Separate
 ContentsIndex
Source.Separate
Documentation
data TopS
Constructors
TopS
tImportExtern :: [Top]
tTypeDecl :: [Top]
tData :: [Top]
tEffect :: [Top]
tClassTC :: [Top]
tClassT :: [Top]
tClassR :: [Top]
tClassE :: [Top]
tStmt :: [Top]
tOther :: [Top]
initTopS :: TopS
separate :: [Top] -> TopS
separate' :: TopS -> Top -> TopS
Produced by Haddock version 0.7
rmfile ./doc/haddock/Source-Separate.html hunk ./doc/haddock/Source-Seq.html 1 - - -Source.Seq
 ContentsIndex
Source.Seq
Documentation
seqTree :: Tree -> ()
seqP :: Top -> ()
seqXs :: [Exp] -> ()
seqX :: Exp -> ()
seqSs :: [Stmt] -> ()
seqS :: Stmt -> ()
seqNs :: [Annot] -> ()
seqN :: Annot -> ()
seqAs :: [Alt] -> ()
seqA :: Alt -> ()
Produced by Haddock version 0.7
rmfile ./doc/haddock/Source-Seq.html hunk ./doc/haddock/Source-Slurp.html 1 - - -Source.Slurp
 ContentsIndex
Source.Slurp
Documentation
slurpFixTable :: [Top] -> [FixDef]
slurpFixTable' :: Top -> [FixDef]
slurpDataDefs :: Tree -> [DataDef]
slurpImportModules :: Tree -> [Var]
slurpImportExterns :: Tree -> [(Var, Type)]
Produced by Haddock version 0.7
rmfile ./doc/haddock/Source-Slurp.html hunk ./doc/haddock/Source-ToCore-Base.html 1 - - -Source.ToCore.Base
 ContentsIndex
Source.ToCore.Base
Documentation
data CoreS
Constructors
CoreS
coreMapSchemes :: (Var -> Maybe Type)
coreMapNodes :: (Var -> Maybe Type)
coreMapInst :: (Var -> Maybe Type)
coreMapEffects :: (Var -> Maybe [Effect])
coreVars :: (Map String Var)
coreGenValue :: VarId
coreLetBound :: (Set Var)
type CoreM = State CoreS
newVar :: CoreM Var
getScheme :: Var -> CoreM Type
getNode :: Var -> CoreM Type
lookupInst :: Var -> CoreM (Maybe Type)
getEffects :: Var -> CoreM [Effect]
isLetRecursive :: Var -> CoreM Bool
addLetBound :: [Var] -> CoreM ()
delLetBound :: [Var] -> CoreM ()
Produced by Haddock version 0.7
rmfile ./doc/haddock/Source-ToCore-Base.html hunk ./doc/haddock/Source-ToCore-Lambda.html 1 - - -Source.ToCore.Lambda
 ContentsIndex
Source.ToCore.Lambda
Documentation
addTypeLambdas :: Var -> Exp -> CoreM Exp
addLambdas :: [(Var, Type)] -> Exp -> CoreM Exp
getTypeVKs :: Type -> [(Var, Type)]
addTypeApps :: Var -> Var -> Exp -> CoreM Exp
addApps :: Var -> Var -> Exp -> Type -> Type -> CoreM Exp
addAppsRec :: Var -> Var -> Exp -> Type -> CoreM Exp
getTypeApp :: Var -> Var -> Type -> Type -> [(Var, Var)] -> CoreM Exp
Produced by Haddock version 0.7
rmfile ./doc/haddock/Source-ToCore-Lambda.html hunk ./doc/haddock/Source-ToCore.html 1 - - -Source.ToCore
 ContentsIndex
Source.ToCore
Documentation
toCoreTree :: (Var -> Maybe Type) -> (Var -> Maybe Type) -> (Var -> Maybe Type) -> (Var -> Maybe Effect) -> Map String Var -> Tree -> Tree
toCoreP :: Top -> CoreM [Top]
toCoreCtor :: (Var, [DataField Exp Type]) -> CoreM (Var, [DataField Exp Type])
toCoreDF :: DataField Exp Type -> CoreM (DataField Exp Type)
makeCtor :: Var -> Var -> [Var] -> (Var, [DataField Exp Type]) -> Top
toCoreS :: Stmt -> CoreM Stmt
toCoreX :: Exp -> CoreM Exp
toCoreXT :: Exp -> CoreM Exp
toCoreA :: Exp -> Alt -> CoreM Alt
addPatLambdas :: Exp -> [Exp] -> CoreM Exp
milkGuards :: Exp -> CoreM (Var, [Guard])
addFunLambdas :: Exp -> [Var] -> CoreM Exp
pushLambdaXDo :: Exp -> Exp
Produced by Haddock version 0.7
rmfile ./doc/haddock/Source-ToCore.html hunk ./doc/haddock/Source-Token.html 1 - - -Source.Token
 ContentsIndex
Source.Token
Documentation
data Token
Constructors
Import
Export
Data
Effect
Class
Instance
InfixR
InfixL
Infix
Let
In
Where
Case
Of
If
Then
Else
Throw
Try
Catch
With
Do
While
When
Unless
Forall
Dot
Module
Extern
HasType
HasOpType
HasConstraint
RightArrow
EffectArrow
Unit
Hash
Star
Dash
Plus
Percent
At
Bang
FSlash
Dollar
Tilde
AKet
CBra
CKet
RBra
RKet
SBra
SKet
BSlash
BTick
Equals
Comma
Colon
SColon
Bar
Tycon String
Var String
Symbol String
CInt Int
CChar Char
CFloat Float
CString String
NewLine
CommentLineStart
CommentBlockStart
CommentBlockEnd
Junk String
show/hide Instances
Eq Token
Show Token
data TokenP
Constructors
TokenP
token :: Token
file :: String
line :: Int
column :: Int
show/hide Instances
Eq TokenP
Show TokenP
Produced by Haddock version 0.7
rmfile ./doc/haddock/Source-Token.html hunk ./doc/haddock/Source-TokenShow.html 1 - - -Source.TokenShow
 ContentsIndex
Source.TokenShow
Produced by Haddock version 0.7
rmfile ./doc/haddock/Source-TokenShow.html hunk ./doc/haddock/Source-Type-Slurp.html 1 - - -Source.Type.Slurp
 ContentsIndex
Source.Type.Slurp
Documentation
slurpTreeM :: Tree -> CSlurpM (Tree, [CTree])
slurpP :: Top -> CSlurpM (Top, [CTree])
slurpDataDef :: Var -> [Var] -> (Var, [DataField Exp Type]) -> CSlurpM CTree
Produced by Haddock version 0.7
rmfile ./doc/haddock/Source-Type-Slurp.html hunk ./doc/haddock/Source-Type-SlurpS.html 1 - - -Source.Type.SlurpS
 ContentsIndex
Source.Type.SlurpS
Documentation
slurpS :: Stmt -> CSlurpM (Var, [Var], [Var], Stmt, CTree)
Produced by Haddock version 0.7
rmfile ./doc/haddock/Source-Type-SlurpS.html hunk ./doc/haddock/Source-Type-Util.html 1 - - -Source.Type.Util
 ContentsIndex
Source.Type.Util
Documentation
elabInstM :: Type -> CSlurpM Type
makeCtorType :: (Var, [Var]) -> (Var, [DataField Exp Type]) -> CSlurpM Type
defaultCtorRegion :: Type -> CSlurpM Type
gatherEffectsE :: Exp -> [Var]
makeTFunEE :: Effect -> [Env] -> [Type] -> CSlurpM Type
Produced by Haddock version 0.7
rmfile ./doc/haddock/Source-Type-Util.html hunk ./doc/haddock/Source-Util.html 1 - - -Source.Util
 ContentsIndex
Source.Util
Documentation
mergeConstraints :: [Constraint] -> Type -> Type
mergeC :: [Constraint] -> Type -> Type
lookupCE :: Var -> [Constraint] -> Maybe (Effect, [Env])
Produced by Haddock version 0.7
rmfile ./doc/haddock/Source-Util.html hunk ./doc/haddock/Stages-Core.html 1 - - -Stages.Core
 ContentsIndex
Stages.Core
Documentation
snipDown :: (?args :: [Arg]) -> Tree -> IO Tree
maskLocal :: (?args :: [Arg]) -> Tree -> IO Tree
optFullLaziness :: (?args :: [Arg]) -> Tree -> IO Tree
lambdaLift :: (?args :: [Arg]) -> Tree -> Tree -> Map String Var -> IO Tree
curryCall :: (?args :: [Arg]) -> Tree -> Tree -> IO Tree
toSea :: (?args :: [Arg]) -> Tree -> Map String Var -> IO Tree
Produced by Haddock version 0.7
rmfile ./doc/haddock/Stages-Core.html hunk ./doc/haddock/Stages-Dump.html 1 - - -Stages.Dump
 ContentsIndex
Stages.Dump
Produced by Haddock version 0.7
rmfile ./doc/haddock/Stages-Dump.html hunk ./doc/haddock/Stages-IO.html 1 - - -Stages.IO
 ContentsIndex
Stages.IO
Documentation
load :: [FilePath] -> FilePath -> IO (String, Interface, Path)
chase :: (?args :: [Arg]) -> Tree -> Interface -> [FilePath] -> IO (Map String Interface)
chaseRec :: (String -> IO Interface) -> Map String Interface -> [String] -> IO (Map String Interface)
Produced by Haddock version 0.7
rmfile ./doc/haddock/Stages-IO.html hunk ./doc/haddock/Stages-Sea.html 1 - - -Stages.Sea
 ContentsIndex
Stages.Sea
Documentation
seaReturn :: (?args :: [Arg]) -> Tree -> IO Tree
selMatch :: (?args :: [Arg]) -> Tree -> IO Tree
seaSub :: (?args :: [Arg]) -> Tree -> IO Tree
expandCtors :: (?args :: [Arg]) -> Tree -> IO Tree
expandThunking :: (?args :: [Arg]) -> Tree -> IO Tree
seaForce :: (?args :: [Arg]) -> Tree -> IO Tree
seaSlot :: (?args :: [Arg]) -> Tree -> IO Tree
outSea :: (?args :: [Arg]) -> Tree -> Interface -> Map String Interface -> IO (String, String)
modIncludeSelf :: Interface -> Top
modIncludes :: Interface -> Map String Interface -> [Top]
makeComments :: Interface -> String
invokeSeaCompiler :: (?args :: [Arg]) -> IO ()
invokeLinker :: (?args :: [Arg]) -> Interface -> Map String Interface -> IO ()
Produced by Haddock version 0.7
rmfile ./doc/haddock/Stages-Sea.html hunk ./doc/haddock/Stages-Source.html 1 - - -Stages.Source
 ContentsIndex
Stages.Source
Documentation
parse :: (?args :: [Arg]) -> Interface -> String -> IO Tree
slurpH :: Tree -> Map String Interface -> IO (Tree, [FixDef])
defix :: (?args :: [Arg]) -> Tree -> [FixDef] -> IO Tree
rename :: (?args :: [Arg]) -> Tree -> Tree -> IO (Tree, Tree, Map String Var)
alias :: (?args :: [Arg]) -> Tree -> IO Tree
hacks :: (?args :: [Arg]) -> Tree -> Map String Var -> IO Tree
slurpC :: (?args :: [Arg]) -> Tree -> Tree -> Map String Var -> IO (Tree, [CTree], Map Var [Var], Map Var Var)
solveSquid :: (?args :: [Arg]) -> [CTree] -> Map Var Var -> Map String Var -> IO ([String], Var -> Maybe Type, Var -> Maybe Type, Var -> Maybe Type, Var -> Maybe Type, Var -> Maybe Effect)
toCore :: (?args :: [Arg]) -> Tree -> Tree -> Map String Var -> (Var -> Maybe Type) -> (Var -> Maybe Type) -> (Var -> Maybe Type) -> (Var -> Maybe Effect) -> IO (Tree, Tree)
handleErrors :: Pretty a => (?args :: [Arg]) -> [a] -> IO ()
Produced by Haddock version 0.7
rmfile ./doc/haddock/Stages-Source.html hunk ./doc/haddock/Type-Bits.html 1 - - -Type.Bits
 ContentsIndex
Type.Bits
Documentation
chopTForall :: Type -> Type
makeTFun :: [Type] -> Type
chopTFun :: Type -> [Type]
addTForall :: Type -> Type
addDefaultKind :: Var -> (Var, Kind)
flattenFunT :: Type -> Type
unflattenFunT :: Type -> Type
addFetters :: Type -> [Fetter] -> Type
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Bits.html hunk ./doc/haddock/Type-CheckSig.html 1 - - -Type.CheckSig
 ContentsIndex
Type.CheckSig
Documentation
checkSig :: Var -> Type -> Var -> Type -> [Error]
check :: (?boundSig :: [(Var, Kind)]) -> (?boundSch :: [(Var, Kind)]) -> Type -> Type -> [Error]
checkEs :: (?boundSig :: [(Var, Kind)]) -> (?boundSch :: [(Var, Kind)]) -> [Effect] -> [Effect] -> [Error]
effMatch :: Effect -> Effect -> Bool
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-CheckSig.html hunk ./doc/haddock/Type-Constraint-Bits.html 1 - - -Type.Constraint.Bits
 ContentsIndex
Type.Constraint.Bits
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Constraint-Bits.html hunk ./doc/haddock/Type-Constraint-CallGraph.html 1 - - -Type.Constraint.CallGraph
 ContentsIndex
Type.Constraint.CallGraph
Documentation
slurpCallGraph :: [CTree] -> Map Var [Var]
gdlCallGraph :: Map Var [Var] -> String
gdlNode :: Var -> String
gdlEdges :: (Var, [Var]) -> String
gdlEdge :: Var -> Var -> String
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Constraint-CallGraph.html hunk ./doc/haddock/Type-Constraint-Post-BranchInst.html 1 - - -Type.Constraint.Post.BranchInst
 ContentsIndex
Type.Constraint.Post.BranchInst
Documentation
fillBranchInst :: CTree -> CTree
milkInst :: CTree -> (CTree, [Var])
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Constraint-Post-BranchInst.html hunk ./doc/haddock/Type-Constraint-Post-ChainApps.html 1 - - -Type.Constraint.Post.ChainApps
 ContentsIndex
Type.Constraint.Post.ChainApps
Documentation
chainApps :: CTree -> CTree
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Constraint-Post-ChainApps.html hunk ./doc/haddock/Type-Constraint-Post-Degen.html 1 - - -Type.Constraint.Post.Degen
 ContentsIndex
Type.Constraint.Post.Degen
Documentation
degeneralise :: CTree -> CTree
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Constraint-Post-Degen.html hunk ./doc/haddock/Type-Constraint-Post-InfoLambda.html 1 - - -Type.Constraint.Post.InfoLambda
 ContentsIndex
Type.Constraint.Post.InfoLambda
Documentation
addInfoLambdas :: CTree -> CTree
infoLambda :: CTree -> CTree
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Constraint-Post-InfoLambda.html hunk ./doc/haddock/Type-Constraint-Post-Sequence.html 1 - - -Type.Constraint.Post.Sequence
 ContentsIndex
Type.Constraint.Post.Sequence
Documentation
sequenceBranches :: CTree -> CTree
fillEnvC :: Map Var [Var] -> CTree -> CTree
collectBranches :: CTree -> [CTree]
elemCtor :: [a] -> a -> Bool
reorderBranches :: [CTree] -> [CTree]
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Constraint-Post-Sequence.html hunk ./doc/haddock/Type-Constraint-Post.html 1 - - -Type.Constraint.Post
 ContentsIndex
Type.Constraint.Post
Documentation
annotCGens :: CTree -> CTree
annotCGens' :: (?constHigh :: [Var]) -> (?constHere :: [Var]) -> CTree -> CTree
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Constraint-Post.html hunk ./doc/haddock/Type-Constraint-Pretty.html 1 - - -Type.Constraint.Pretty
 ContentsIndex
Type.Constraint.Pretty
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Constraint-Pretty.html hunk ./doc/haddock/Type-Constraint-State.html 1 - - -Type.Constraint.State
 ContentsIndex
Type.Constraint.State
Documentation
data BindMode
Constructors
BindLet
BindArg
BindLambda
BindSnoc
BindCtor
BindImportExtern
show/hide Instances
type CSlurpM = State CSlurpS
data CSlurpS
Constructors
CSlurpS
stateTrace :: [String]
stateErrors :: [Error]
stateCoreVars :: (Map String Var)
stateGen :: (Map NameSpace VarId)
stateDataDefs :: [DataDef]
stateSlurpDefs :: (Map Var Type)
stateBindMode :: (Map Var BindMode)
stateVarType :: (Map Var Var)
initCSlurpS :: Map String Var -> CSlurpS
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Constraint-State.html hunk ./doc/haddock/Type-Constraint-Tree.html 1 - - -Type.Constraint.Tree
 ContentsIndex
Type.Constraint.Tree
Documentation
data CTree
Constructors
CBranch
branchLet :: [(Var, Var)]
branchLambda :: [Var]
branchInst :: [Var]
branchEnv :: [Var]
branchEnvC :: [Var]
branchSub :: [CTree]
CEq Var Type
CEqE Var [Effect]
CGen Var [Var]
CDef Var Type
CSig Var Type
CInfo CInfo
CDataFields Var [Var] [(Var, Type)]
CError Type
CTreeNil
show/hide Instances
Data CTree
Pretty CTree
Show CTree
Typeable CTree
data CInfo
Constructors
ILambda [Var]
show/hide Instances
Data CInfo
Pretty CInfo
Show CInfo
Typeable CInfo
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Constraint-Tree.html hunk ./doc/haddock/Type-Constraint-Util.html 1 - - -Type.Constraint.Util
 ContentsIndex
Type.Constraint.Util
Documentation
traceM :: String -> CSlurpM ()
trace :: [String] -> CSlurpM ()
newVarN :: NameSpace -> String -> CSlurpM Var
newVarZ :: Var -> CSlurpM Var
newVarInst :: Var -> CSlurpM Var
bindVtoT :: Var -> CSlurpM Var
lookupVtoT :: Var -> CSlurpM (Maybe Var)
getVtoT :: Var -> CSlurpM Var
lbindVtoT :: Var -> CSlurpM Var
setBindModeV :: BindMode -> Var -> CSlurpM ()
getBindModeV :: Var -> CSlurpM BindMode
getGroundType :: String -> CSlurpM Var
getConstType :: Const -> CSlurpM Type
addDataDef :: DataDef -> CSlurpM ()
lookupCtor :: Var -> CSlurpM (Maybe (Var, [DataField Exp Type], Var, [Var]))
lookupCtor' :: Var -> DataDef -> Maybe (Var, [DataField Exp Type], Var, [Var])
slurpInstantiate :: Type -> CSlurpM Type
addDef :: Var -> Type -> CSlurpM ()
getDef :: Var -> CSlurpM Type
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Constraint-Util.html hunk ./doc/haddock/Type-CoreVars.html 1 - - -Type.CoreVars
 ContentsIndex
Type.CoreVars
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-CoreVars.html hunk ./doc/haddock/Type-Effect-Bits.html 1 - - -Type.Effect.Bits
 ContentsIndex
Type.Effect.Bits
Documentation
flattenEs :: Effect -> Effect
pipeEsT :: Type -> Type
cleanEVarsT :: Type -> Type
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Effect-Bits.html hunk ./doc/haddock/Type-Effect-MaskFresh.html 1 - - -Type.Effect.MaskFresh
 ContentsIndex
Type.Effect.MaskFresh
Documentation
maskFreshT :: Type -> Type
maskFreshF :: [Var] -> Fetter -> Maybe Fetter
maskFreshE :: [Var] -> Effect -> Effect
maskFreshET :: [Var] -> Type -> Bool
maskFreshR :: [Var] -> Region -> Bool
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Effect-MaskFresh.html hunk ./doc/haddock/Type-Effect-MaskLocal.html 1 - - -Type.Effect.MaskLocal
 ContentsIndex
Type.Effect.MaskLocal
Documentation
maskEsLocalT :: Monad m => Type -> m Type
maskF :: [Var] -> Fetter -> Fetter
maskE :: [Var] -> Effect -> Effect
visRegions :: Type -> [Var]
visEffects :: Type -> [Var]
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Effect-MaskLocal.html hunk ./doc/haddock/Type-Effect-MaskPure.html 1 - - -Type.Effect.MaskPure
 ContentsIndex
Type.Effect.MaskPure
Documentation
maskEsPureT :: Type -> Type
getPureVarsF :: Fetter -> [Var]
maskPureEF :: [Var] -> Fetter -> Fetter
maskPureEs :: [Var] -> Effect -> Maybe Effect
scrubPureTFunEE :: [Var] -> Type -> Type
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Effect-MaskPure.html hunk ./doc/haddock/Type-Elaborate.html 1 - - -Type.Elaborate
 ContentsIndex
Type.Elaborate
Documentation
elaborateT :: Monad m => (NameSpace -> m Var) -> Type -> m Type
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Elaborate.html hunk ./doc/haddock/Type-Error.html 1 - - -Type.Error
 ContentsIndex
Type.Error
Documentation
data Error
Constructors
ErrorSanityCoreMissing
eVarsMissing :: [String]
ErrorUnifyCtorMismatch
eCtor1 :: Type
eTypeSource1 :: TypeSource
eCtor2 :: Type
eTypeSource2 :: TypeSource
ErrorInfiniteTypeClassId
eClassId :: ClassId
ErrorInfiniteTypeGen
eVar :: Var
eClassIds :: [ClassId]
eType :: Type
eLoops :: [(Var, Type)]
ErrorSigScheme
eSig :: (Var, Type)
eScheme :: (Var, Type)
eClashSig :: Type
eClashScheme :: Type
ErrorSigEffects
eSig :: (Var, Type)
eScheme :: (Var, Type)
eEffSig :: [Effect]
eEffScheme :: [Effect]
ErrorFieldNotPresent
eField :: Var
eConstructor :: Type
ErrorAmbiguousProjection
eField :: Var
ErrorImpureTopLevelEffect
eEff :: Effect
eEffFunV :: Var
eEffType :: Type
ePureFunV :: Var
ePureType :: Type
ErrorMutabilityConflict
eRegion :: Region
eMutableFetter :: Fetter
eMutableSource :: TypeSource
eConstFetter :: Fetter
eConstSource :: TypeSource
ErrorMutabilityPureReadWrite
eRegion :: Region
eReadEff :: Effect
eReadSource :: TypeSource
ePureFetter :: Fetter
ePureSource :: TypeSource
eWriteEff :: Effect
eWriteSource :: TypeSource
show/hide Instances
selectSourceTS :: [TypeSource] -> TypeSource
prettyTypeConflict :: Type -> TypeSource -> PrettyP
prettyMConflictTS :: TypeSource -> PrettyP
prettyTSE :: TypeSource -> PrettyP
prettyTSP :: TypeSource -> PrettyP
getTSP :: TypeSource -> SourcePos
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Error.html hunk ./doc/haddock/Type-Exp.html 1 - - -Type.Exp
 ContentsIndex
Type.Exp
Documentation
data Type
Constructors
TVar Var
TFunEE Type Type Effect [Env]
TCon Var [Type]
TForall [(Var, Kind)] Type
TProj Type TProj
TRegion Region
TEffect Effect
TFetters [Fetter] Type
TClass ClassId
TSeed Var
TFetter Fetter
TInstLet Var
TApp Type
TLambda SourcePos Type
TInst Var Var Type
TField Var Type
TCaseObj [Type]
TCaseAlt [Type]
TLiteral Const Type
TIfObj Type
TSig Var Type
TNil
TError
TFunF [(Type, Effect, [Env])]
TFunV Type Type (Maybe Var)
show/hide Instances
data ClassId
Constructors
ClassIdT Int
ClassIdR Int
ClassIdE Int
show/hide Instances
data TProj
Constructors
TJField Var
TJFieldR Var
show/hide Instances
Data TProj
Eq TProj
Pretty TProj
Show TProj
Typeable TProj
data Region
Constructors
RVar Var
RCon Var
RSum [Region]
RPort Var
RFetter Fetter
RClass ClassId
show/hide Instances
data Fetter
Constructors
FClassT Var Type
FClassE Var Effect
FClassR Var Region
FField Type Var Type
FEffect Effect Effect
FFunInfo Var Effect [Env]
show/hide Instances
data TypeSource
Constructors
TSNil
TSLambda SourcePos
TSApp Var
TSInst Var Var
TSSynth Var
TSIfObj
TSLiteral Const
TSCaseMatch SourcePos
TSProj ClassId ClassId TProj
TSSig Var
TSCaseObj
TSCaseAlt
TSPattern
TSCode
show/hide Instances
data Kind
Constructors
KFun Kind Kind
KType
KRegion
KEffect
show/hide Instances
Data Kind
Eq Kind
Pretty Kind
Show Kind
Typeable Kind
data Effect
Constructors
ENil
EVar Var
ECon Var [Type]
ESum [Effect]
EClass ClassId
EFetter Fetter
EPort Var
EPipe Var
EEnd Var
ESink Var
ECase SourcePos Effect
show/hide Instances
data Env
Constructors
NNil
NVar Var
NVarType Var Type
show/hide Instances
Data Env
Eq Env
Free Env
Lint Env
Pretty Env
Rename Env
Show Env
Typeable Env
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Exp.html hunk ./doc/haddock/Type-Generalise.html 1 - - -Type.Generalise
 ContentsIndex
Type.Generalise
Documentation
generaliseT :: [Var] -> Type -> Type
genFreeVarsT :: Type -> [Var]
getConEnv :: Type -> [Var]
getTopEnv :: Type -> [Env]
collectEnv :: Type -> Maybe [Env]
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Generalise.html hunk ./doc/haddock/Type-Instantiate.html 1 - - -Type.Instantiate
 ContentsIndex
Type.Instantiate
Documentation
instantiateT :: Monad m => (Var -> m Var) -> Type -> m Type
instT :: Monad m => (?newVarInst :: Var -> m Var) -> (?bound :: [(Var, Var)]) -> Type -> m Type
instE :: Monad m => (?newVarInst :: Var -> m Var) -> (?bound :: [(Var, Var)]) -> Effect -> m Effect
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Instantiate.html hunk ./doc/haddock/Type-Kind.html 1 - - -Type.Kind
 ContentsIndex
Type.Kind
Documentation
addDefaultKinds :: Type -> Type
defaultKindV :: Var -> Kind
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Kind.html hunk ./doc/haddock/Type-Label.html 1 - - -Type.Label
 ContentsIndex
Type.Label
Documentation
labelFunsT :: Type -> Type
labelT :: Type -> State (Int, [Fetter]) Type
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Label.html hunk ./doc/haddock/Type-Normalise.html 1 - - -Type.Normalise
 ContentsIndex
Type.Normalise
Documentation
normaliseT :: Type -> Type
type StateN = State StateS
data StateS
Constructors
StateS
stateGen :: (Map NameSpace Int)
stateVarMap :: (Map Var Var)
show/hide Instances
Typeable StateS
bindVar :: Var -> StateN Var
normaliseTM :: Type -> StateN Type
normaliseVK :: (Var, Kind) -> StateN (Var, Kind)
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Normalise.html hunk ./doc/haddock/Type-Pack.html 1 - - -Type.Pack
 ContentsIndex
Type.Pack
Documentation
packType :: Type -> Type
packEffects :: Type -> Type
packForallVars :: Type -> Type
sortForallVars :: Type -> Type
sortVarKinds :: [(Var, Kind)] -> [(Var, Kind)]
sortFettersT :: Type -> Type
scrubFetters :: Type -> Type
scrubEffEnv :: Type -> Type
packFetters :: Type -> Type
liftFetters :: Type -> Type
stripFsT :: Type -> (Type, [Fetter])
eraseEnvT :: Type -> Type
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Pack.html hunk ./doc/haddock/Type-Plate-Collect.html 1 - - -Type.Plate.Collect
 ContentsIndex
Type.Plate.Collect
Documentation
collectEffsT :: Type -> [Effect]
collectTConsT :: Type -> [Type]
collectTConsN :: Env -> [Type]
collectClassIdsT :: Type -> [ClassId]
collectClassIdsR :: Region -> [ClassId]
collectClassIdsE :: Effect -> [ClassId]
collectClassIdsF :: Fetter -> [ClassId]
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Plate-Collect.html hunk ./doc/haddock/Type-Plate-FreeVars.html 1 - - -Type.Plate.FreeVars
 ContentsIndex
Type.Plate.FreeVars
Documentation
freeVarsT :: Type -> [Var]
class Free a where
Methods
free :: (?bound :: [Var]) -> a -> [Var]
show/hide Instances
Free Effect
Free Env
Free Fetter
Free Region
Free Type
Free Var
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Plate-FreeVars.html hunk ./doc/haddock/Type-Plate-Trans.html 1 - - -Type.Plate.Trans
 ContentsIndex
Type.Plate.Trans
Documentation
transUpT :: (Type -> Type) -> Type -> Type
transUpTM :: Monad m => (Type -> m Type) -> Type -> m Type
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Plate-Trans.html hunk ./doc/haddock/Type-Plate-TransVar.html 1 - - -Type.Plate.TransVar
 ContentsIndex
Type.Plate.TransVar
Documentation
transVarT :: (Var -> Var) -> Type -> Type
transVarE :: (Var -> Var) -> Effect -> Effect
transVarR :: (Var -> Var) -> Region -> Region
transVarN :: (Var -> Var) -> Env -> Env
transVarF :: (Var -> Var) -> Fetter -> Fetter
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Plate-TransVar.html hunk ./doc/haddock/Type-Plate-Update.html 1 - - -Type.Plate.Update
 ContentsIndex
Type.Plate.Update
Documentation
type Update x = Monad m => (?sinkVar :: Var -> m Var) -> (?sinkClassId :: ClassId -> m ClassId) -> x -> m x
updateT :: Update Type
updateVK :: Update (Var, Kind)
updateF :: Update Fetter
updateE :: Update Effect
updateR :: Update Region
updateN :: Update Env
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Plate-Update.html hunk ./doc/haddock/Type-Plate.html 1 - - -Type.Plate
 ContentsIndex
Type.Plate
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Plate.html hunk ./doc/haddock/Type-Pretty.html 1 - - -Type.Pretty
 ContentsIndex
Type.Pretty
Documentation
prettyVK :: (Var, Kind) -> PrettyP
prettyTypeSplit :: Type -> PrettyP
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Pretty.html hunk ./doc/haddock/Type-Squid-Base.html 1 - - -Type.Squid.Base
 ContentsIndex
Type.Squid.Base
Documentation
type ClassT = Class (Type, TypeInfo)
type ClassE = Class (Effect, EffectInfo)
type ClassR = Class (Region, RegionInfo)
data Class i
Constructors
CNil
Class
classId :: ClassId
className :: (Maybe Var)
classItems :: [i]
classBackRef :: [ClassId]
show/hide Instances
??? i => Show (Class i)
data School i
Constructors
School
schoolMakeClassId :: (Int -> ClassId)
schoolClass :: (Map ClassId (Class i))
schoolClassSub :: (Map ClassId ClassId)
schoolClassIdGen :: Int
schoolClassTouched :: (Set ClassId)
schoolVarToClassId :: (Map Var ClassId)
data TypeInfo
Constructors
TypeInfo
tiSource :: TypeSource
show/hide Instances
data EffectInfo
Constructors
EffectInfo
eiSource :: TypeSource
show/hide Instances
data RegionInfo
Constructors
RegionInfo
riSource :: TypeSource
show/hide Instances
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Squid-Base.html hunk ./doc/haddock/Type-Squid-Bits.html 1 - - -Type.Squid.Bits
 ContentsIndex
Type.Squid.Bits
Documentation
instVar :: Var -> SquidM Var
newVarN :: NameSpace -> SquidM Var
lookupSigmaVar :: Var -> SquidM (Maybe Var)
getCoreVar :: String -> SquidM Var
addErrors :: [Error] -> SquidM ()
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Squid-Bits.html hunk ./doc/haddock/Type-Squid-CheckConst.html 1 - - -Type.Squid.CheckConst
 ContentsIndex
Type.Squid.CheckConst
Documentation
checkConst :: SquidM [Error]
checkConstC :: ClassId -> Class (Region, RegionInfo) -> SquidM [Error]
getPurifiers :: ClassId -> SquidM (Maybe (Effect, TypeSource, [(Fetter, TypeSource)]))
getWriteEffects :: ClassId -> SquidM (Maybe (Effect, TypeSource))
checkConstFs :: ClassId -> [(Fetter, RegionInfo)] -> [Error]
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Squid-CheckConst.html hunk ./doc/haddock/Type-Squid-CheckPure.html 1 - - -Type.Squid.CheckPure
 ContentsIndex
Type.Squid.CheckPure
Documentation
checkPure :: SquidM [Error]
checkPureC :: ClassId -> Class (Effect, EffectInfo) -> SquidM [Error]
gotPureE :: Effect -> Bool
tracePure :: ClassId -> Set ClassId -> [ClassId] -> [Error] -> SquidM [Error]
checkPureE :: ClassId -> ClassId -> (Effect, EffectInfo) -> SquidM [Error]
getPureInfo :: ClassId -> SquidM EffectInfo
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Squid-CheckPure.html hunk ./doc/haddock/Type-Squid-Class.html 1 - - -Type.Squid.Class
 ContentsIndex
Type.Squid.Class
Documentation
type SchoolE = School (Effect, EffectInfo)
excSchoolE :: (SchoolE -> SchoolE) -> SquidM ()
runSchoolE :: (SchoolE -> (SchoolE, a)) -> SquidM a
getSchoolE :: (SchoolE -> a) -> SquidM a
makeClassNameE :: ClassId -> SquidM Var
type SchoolR = School (Region, RegionInfo)
excSchoolR :: (SchoolR -> SchoolR) -> SquidM ()
runSchoolR :: (SchoolR -> (SchoolR, a)) -> SquidM a
getSchoolR :: (SchoolR -> a) -> SquidM a
makeClassNameR :: ClassId -> SquidM Var
type SchoolT = School (Type, TypeInfo)
excSchoolT :: (SchoolT -> SchoolT) -> SquidM ()
runSchoolT :: (SchoolT -> (SchoolT, a)) -> SquidM a
getSchoolT :: (SchoolT -> a) -> SquidM a
makeClassNameT :: ClassId -> SquidM Var
makeClassName :: ClassId -> SquidM Var
addVarSubs :: Var -> [Var] -> SquidM ()
sinkVar :: Var -> SquidM Var
sinkClassId :: ClassId -> SquidM ClassId
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Squid-Class.html hunk ./doc/haddock/Type-Squid-CrushProj.html 1 - - -Type.Squid.CrushProj
 ContentsIndex
Type.Squid.CrushProj
Synopsis
crushProjClassT :: ClassId -> SquidM ()
gotProjT :: ClassId -> SquidM Bool
crushProjItems :: ClassId -> (Type, TypeInfo) -> SquidM (Maybe (Type, TypeInfo), Maybe ClassId)
Documentation
crushProjClassT :: ClassId -> SquidM ()
Crush out field projections from a type equivalence class. -
gotProjT :: ClassId -> SquidM Bool
crushProjItems :: ClassId -> (Type, TypeInfo) -> SquidM (Maybe (Type, TypeInfo), Maybe ClassId)
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Squid-CrushProj.html hunk ./doc/haddock/Type-Squid-Dump.html 1 - - -Type.Squid.Dump
 ContentsIndex
Type.Squid.Dump
Documentation
dump :: SquidM String
dumpClasses :: SquidM String
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Squid-Dump.html hunk ./doc/haddock/Type-Squid-Export.html 1 - - -Type.Squid.Export
 ContentsIndex
Type.Squid.Export
Documentation
squidExport :: SquidM (Var -> Maybe Type, Var -> Maybe Type, Var -> Maybe Type, Var -> Maybe Effect, [Effect])
exportScheme :: Var -> SquidM (Maybe Type)
exportNode :: Var -> SquidM (Maybe Type)
exportInst :: Var -> SquidM (Maybe Type)
exportEffect :: Var -> SquidM (Maybe Effect)
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Squid-Export.html hunk ./doc/haddock/Type-Squid-Feed.html 1 - - -Type.Squid.Feed
 ContentsIndex
Type.Squid.Feed
Documentation
feedTypeC :: Var -> Type -> SquidM ()
feedType :: (?typeSource :: TypeSource) -> Var -> Type -> SquidM ()
feedTypeDown :: (?typeSource :: TypeSource) -> Maybe ClassId -> Type -> SquidM Type
feedRegionDown :: Maybe ClassId -> Region -> SquidM Region
feedEffectC :: (?typeSource :: TypeSource) -> Var -> Effect -> SquidM ()
feedEffectDown :: (?typeSource :: TypeSource) -> Maybe ClassId -> Effect -> SquidM Effect
feedFetter :: (?typeSource :: TypeSource) -> Fetter -> SquidM ()
patchBackT :: ClassId -> Maybe ClassId -> SquidM ()
patchBackE :: ClassId -> Maybe ClassId -> SquidM ()
patchBackR :: ClassId -> Maybe ClassId -> SquidM ()
makeTypeInfo :: (?typeSource :: TypeSource) -> TypeInfo
makeEffectInfo :: (?typeSource :: TypeSource) -> EffectInfo
makeRegionInfo :: (?typeSource :: TypeSource) -> RegionInfo
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Squid-Feed.html hunk ./doc/haddock/Type-Squid-FeedS.html 1 - - -Type.Squid.FeedS
 ContentsIndex
Type.Squid.FeedS
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Squid-FeedS.html hunk ./doc/haddock/Type-Squid-Horror.html 1 - - -Type.Squid.Horror
 ContentsIndex
Type.Squid.Horror
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Squid-Horror.html hunk ./doc/haddock/Type-Squid-Mash.html 1 - - -Type.Squid.Mash
 ContentsIndex
Type.Squid.Mash
Documentation
mashClassT :: ClassId -> SquidM ()
mashClassE :: ClassId -> SquidM ()
mashClassR :: ClassId -> SquidM ()
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Squid-Mash.html hunk ./doc/haddock/Type-Squid-Plug.html 1 - - -Type.Squid.Plug
 ContentsIndex
Type.Squid.Plug
Documentation
plugClassIdsT :: Monad m => (ClassId -> m Var) -> [ClassId] -> Type -> m Type
plugClassIdsE :: Monad m => (ClassId -> m Var) -> [ClassId] -> Effect -> m Effect
staticRsDataT :: Type -> [ClassId]
staticRsEnvT :: Type -> [ClassId]
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Squid-Plug.html hunk ./doc/haddock/Type-Squid-Region.html 1 - - -Type.Squid.Region
 ContentsIndex
Type.Squid.Region
Documentation
addRFettersT :: Type -> SquidM Type
getFettersZ :: ClassId -> SquidM [Fetter]
getECon :: ClassId -> SquidM Effect
forceConstEFS :: (Effect, [Fetter]) -> Bool
forceConstRH :: ClassId -> (Effect, [Fetter]) -> SquidM Bool
isPure :: Fetter -> Bool
isMutable :: Fetter -> Bool
makeConstF :: ClassId -> SquidM Fetter
makeMutableF :: ClassId -> SquidM Fetter
makePureF :: ClassId -> SquidM Fetter
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Squid-Region.html hunk ./doc/haddock/Type-Squid-Rewrite.html 1 - - -Type.Squid.Rewrite
 ContentsIndex
Type.Squid.Rewrite
Documentation
rewriteEs :: [Effect] -> SquidM [Effect]
rewriteEsT :: Type -> SquidM Type
rewriteE :: Effect -> SquidM Effect
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Squid-Rewrite.html hunk ./doc/haddock/Type-Squid-Scheme.html 1 - - -Type.Squid.Scheme
 ContentsIndex
Type.Squid.Scheme
Documentation
lookupScheme :: Var -> SquidM (Maybe Type)
makeSchemeSusp :: Var -> SquidM (Maybe Type)
generaliseV :: Var -> [Var] -> SquidM Type
findType :: Var -> SquidM Type
checkScheme :: Var -> Type -> SquidM ()
expandEnvT :: Type -> SquidM Type
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Squid-Scheme.html hunk ./doc/haddock/Type-Squid-School.html 1 - - -Type.Squid.School
 ContentsIndex
Type.Squid.School
Documentation
allocClass :: School x -> (School x, ClassId)
addToClass :: Eq x => School x -> ClassId -> x -> School x
lookupClass :: School x -> ClassId -> Maybe (Class x)
updateClass :: School x -> ClassId -> Class x -> School x
mergeClasses :: Eq x => School x -> [ClassId] -> (School x, ClassId)
addClassIdSubs :: School x -> ClassId -> [ClassId] -> School x
sinkClassId :: School x -> ClassId -> ClassId
touchClass :: School x -> ClassId -> School x
getTouched :: School x -> Set ClassId
delTouched :: School x -> ClassId -> School x
packTouched :: School x -> School x
lookupVarToClassId :: School x -> Var -> Maybe ClassId
makeClassV :: Eq x => School x -> Var -> x -> (School x, ClassId)
addBackRef :: School x -> ClassId -> ClassId -> School x
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Squid-School.html hunk ./doc/haddock/Type-Squid-Sink.html 1 - - -Type.Squid.Sink
 ContentsIndex
Type.Squid.Sink
Documentation
sinkTypeV :: Var -> SquidM (Type, [Error])
sinkTypeC :: ClassId -> SquidM (Type, [Error])
sinkTypeCF :: Set ClassId -> ClassId -> SquidM (Type, [Fetter], [Error])
sinkTCons :: Set ClassId -> [Type] -> [Fetter] -> SquidM (Type, [Fetter], [Error])
sinkTFuns :: Set ClassId -> [Type] -> [Fetter] -> SquidM (Type, [Fetter], [Error])
sinkArg :: Set ClassId -> Type -> SquidM (Type, [Fetter], [Error])
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Squid-Sink.html hunk ./doc/haddock/Type-Squid-SinkE.html 1 - - -Type.Squid.SinkE
 ContentsIndex
Type.Squid.SinkE
Documentation
sinkEffectsC :: ClassId -> SquidM (Effect, [Fetter])
traceEffectsC :: ClassId -> SquidM [Effect]
sinkEffectsC2 :: [Effect] -> Set ClassId -> [ClassId] -> SquidM [Effect]
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Squid-SinkE.html hunk ./doc/haddock/Type-Squid-SinkR.html 1 - - -Type.Squid.SinkR
 ContentsIndex
Type.Squid.SinkR
Documentation
sinkRegionCF :: ClassId -> SquidM (Region, [Fetter])
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Squid-SinkR.html hunk ./doc/haddock/Type-Squid-Solve.html 1 - - -Type.Squid.Solve
 ContentsIndex
Type.Squid.Solve
Documentation
squidSolve :: [CTree] -> Map Var Var -> Map String Var -> SquidS
solve :: [CTree] -> SquidM ()
solveCs :: [CTree] -> SquidM Bool
solveUpdate :: SquidM ()
resolveUnify :: Set ClassId -> SquidM (Set ClassId)
runOnTouched :: (ClassId -> SquidM ()) -> SquidM [ClassId]
solveFinalise :: SquidM ()
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Squid-Solve.html hunk ./doc/haddock/Type-Squid-State.html 1 - - -Type.Squid.State
 ContentsIndex
Type.Squid.State
Documentation
type SquidM = State SquidS
data SquidS
Constructors
SquidS
stateTrace :: [String]
stateSigmaTable :: (Map Var Var)
stateCoreVars :: (Map String Var)
stateVarGen :: (Map NameSpace VarId)
stateVarSub :: (Map Var Var)
stateSchemeExtern :: (Map Var Type)
stateSchemeSusp :: (Map Var [Var])
stateSchemeCache :: (Map Var Type)
stateSchemeInferred :: (Map Var Type)
stateSchemeSig :: (Map Var Type)
stateInst :: (Map Var Type)
stateClassT :: (School (Type, TypeInfo))
stateClassE :: (School (Effect, EffectInfo))
stateClassR :: (School (Region, RegionInfo))
stateDataFields :: (Map Var ([Var], [(Var, Type)]))
stateErrors :: [Error]
stateStop :: Bool
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Squid-State.html hunk ./doc/haddock/Type-Squid-Synth.html 1 - - -Type.Squid.Synth
 ContentsIndex
Type.Squid.Synth
Documentation
synthClass :: ClassId -> SquidM ()
synthSeedCids :: Set ClassId -> [ClassId] -> [(Type, TypeInfo)] -> SquidM ()
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Squid-Synth.html hunk ./doc/haddock/Type-Squid-TraceEffects.html 1 - - -Type.Squid.TraceEffects
 ContentsIndex
Type.Squid.TraceEffects
Documentation
traceEffectsZ :: Set ClassId -> [ClassId] -> [ClassId] -> SquidM [ClassId]
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Squid-TraceEffects.html hunk ./doc/haddock/Type-Squid-TraceFetters.html 1 - - -Type.Squid.TraceFetters
 ContentsIndex
Type.Squid.TraceFetters
Documentation
traceFettersZ :: Set ClassId -> [ClassId] -> [(Fetter, TypeSource)] -> SquidM [(Fetter, TypeSource)]
traceFettersT :: Set ClassId -> [ClassId] -> [(Fetter, TypeSource)] -> SquidM [(Fetter, TypeSource)]
traceFettersR :: Set ClassId -> [ClassId] -> [(Fetter, TypeSource)] -> SquidM [(Fetter, TypeSource)]
traceFettersE :: Set ClassId -> [ClassId] -> [(Fetter, TypeSource)] -> SquidM [(Fetter, TypeSource)]
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Squid-TraceFetters.html hunk ./doc/haddock/Type-Squid-Unify.html 1 - - -Type.Squid.Unify
 ContentsIndex
Type.Squid.Unify
Documentation
unifyClass :: ClassId -> SquidM ()
unifyClasses :: [Type] -> SquidM ClassId
unifyCheck :: ClassId -> SquidM Bool
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Squid-Unify.html hunk ./doc/haddock/Type-Squid-Update.html 1 - - -Type.Squid.Update
 ContentsIndex
Type.Squid.Update
Documentation
updateIT :: (Type, TypeInfo) -> SquidM (Type, TypeInfo)
updateIR :: (Region, RegionInfo) -> SquidM (Region, RegionInfo)
updateIE :: (Effect, EffectInfo) -> SquidM (Effect, EffectInfo)
updateSZ :: (i -> SquidM i) -> School i -> SquidM (School i)
updateCZ :: (i -> SquidM i) -> Class i -> SquidM (Class i)
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Squid-Update.html hunk ./doc/haddock/Type-Summarise.html 1 - - -Type.Summarise
 ContentsIndex
Type.Summarise
Documentation
summariseT :: Type -> Type
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-Summarise.html hunk ./doc/haddock/Type-ToCore.html 1 - - -Type.ToCore
 ContentsIndex
Type.ToCore
Documentation
toCoreT :: Type -> Type
toCoreN :: Env -> Exp
toCoreK :: Kind -> Type
toCoreE :: Effect -> Effect
Produced by Haddock version 0.7
rmfile ./doc/haddock/Type-ToCore.html hunk ./doc/haddock/Util-Either.html 1 - - -Util.Either
 ContentsIndex
Util.Either
Documentation
gatherEither :: [Either a b] -> ([a], [b])
catLeftOrError :: [Either a b] -> Either [a] b
catLeftOrError' :: [Either a b] -> [a] -> Either [a] b
Produced by Haddock version 0.7
rmfile ./doc/haddock/Util-Either.html hunk ./doc/haddock/Util-Generics.html 1 - - -Util.Generics
 ContentsIndex
Util.Generics
Documentation
walkDown :: GenericT -> GenericT
walkDownM :: Monad m => GenericM m -> GenericM m
walkUp :: GenericT -> GenericT
mkCollect :: (Typeable a, Typeable b, Typeable c) => (b -> Maybe c) -> a -> State [c] a
collect :: (forall b . Data b => b -> State [c] b) -> forall a . Data a => a -> [c]
Produced by Haddock version 0.7
rmfile ./doc/haddock/Util-Generics.html hunk ./doc/haddock/Util-List.html 1 - - -Util.List
 ContentsIndex
Util.List
Documentation
catMapM :: Monad m => (a -> m [b]) -> [a] -> m [b]
dropIx :: Int -> [a] -> [a]
dropWhen :: (a -> Bool) -> [a] -> [a]
eachAndOthers :: [a] -> [(a, [a])]
elemF :: (a -> a -> Bool) -> a -> [a] -> Bool
foldlR :: (s -> i -> (s, o)) -> s -> [i] -> (s, [o])
foldlR_ :: (s -> i -> (s, o)) -> s -> [i] -> s
interslurp :: [a] -> [a]
lookupF :: (a -> a -> Bool) -> a -> [(a, b)] -> Maybe b
loopi :: (state -> state) -> state -> Int -> state
nubF :: (a -> a -> Bool) -> [a] -> [a]
rotate :: Int -> [a] -> [a]
remove :: (a -> Bool) -> [a] -> Maybe (a, [a])
remove' :: (a -> Bool) -> [a] -> [a] -> Maybe (a, [a])
sequenceF :: [a -> a] -> a -> a
sequenceFF :: a -> [a -> a] -> a
makeSplits :: Eq a => ([a] -> ([a], [a])) -> [a] -> [[a]]
splitOn :: Eq a => a -> [a] -> ([a], [a])
splitOns :: Eq a => a -> [a] -> [[a]]
splitWhen :: (a -> Bool) -> [a] -> ([a], [a])
splitWhens :: Eq a => (a -> Bool) -> [a] -> [[a]]
makeBreaks :: Eq a => ([a] -> ([a], [a])) -> [a] -> [[a]]
update :: Eq a => a -> b -> [(a, b)] -> [(a, b)]
updateF :: Eq k => k -> (e -> e) -> [(k, e)] -> [(k, e)]
isNil :: [a] -> Bool
gather :: Ord a => [(a, b)] -> [(a, [b])]
mapT2_2 :: (b -> c) -> [(a, b)] -> [(a, c)]
partitionFs :: [a -> Bool] -> [a] -> [[a]]
takeLast :: [a] -> Maybe a
takeHead :: [a] -> Maybe a
Produced by Haddock version 0.7
rmfile ./doc/haddock/Util-List.html hunk ./doc/haddock/Util-Map.html 1 - - -Util.Map
 ContentsIndex
Util.Map
Documentation
countOcc :: Ord a => [a] -> Map a Int
adjustWithDefault :: Ord k => (a -> a) -> a -> k -> Map k a -> Map k a
Produced by Haddock version 0.7
rmfile ./doc/haddock/Util-Map.html hunk ./doc/haddock/Util-Math.html 1 - - -Util.Math
 ContentsIndex
Util.Math
Documentation
clamp0 :: (Num a, Ord a) => a -> a
mread :: Read a => String -> Maybe a
shuffle :: [a] -> [a]
dropEmpties :: [[a]] -> [[a]]
hack :: [[a]] -> [a]
mash :: [[a]] -> ([a], [[a]])
cleave :: [a] -> (a, [a], [a])
decimateR :: Int -> [a] -> ([a], [a])
Produced by Haddock version 0.7
rmfile ./doc/haddock/Util-Math.html hunk ./doc/haddock/Util-Maybe.html 1 - - -Util.Maybe
 ContentsIndex
Util.Maybe
Documentation
makeMaybe :: Bool -> a -> Maybe a
takeFirstJust :: [Maybe a] -> Maybe a
liftMaybeR :: (a, Maybe b) -> Maybe (a, b)
liftMaybe :: (a -> Maybe b) -> Maybe a -> Maybe b
Produced by Haddock version 0.7
rmfile ./doc/haddock/Util-Maybe.html hunk ./doc/haddock/Util-Misc.html 1 - - -Util.Misc
 ContentsIndex
Util.Misc
Documentation
(=@=) :: a -> a -> Bool
orf :: a -> [a -> Bool] -> Bool
updateRefIO :: IORef a -> (a -> IO a) -> IO ()
(>::) :: IORef a -> (a -> IO ()) -> IO ()
getTime :: IO Integer
toRectangular :: (Float, Float) -> (Float, Float)
buildRun :: (Ord a, Num a) => a -> a -> a -> [a]
buildRun' :: (Ord a, Num a) => a -> a -> a -> Int -> a -> [a]
interpolate :: (Float, Float) -> Float -> Float
Produced by Haddock version 0.7
rmfile ./doc/haddock/Util-Misc.html hunk ./doc/haddock/Util-Monad.html 1 - - -Util.Monad
 ContentsIndex
Util.Monad
Documentation
returnN :: Monad m => m (Maybe a)
returnJ :: Monad m => a -> m (Maybe a)
mapMuz :: Monad m => (a -> m (b, c)) -> [a] -> m ([b], [c])
mapMt2_1 :: Monad m => (a -> m c) -> [(a, b)] -> m [(c, b)]
mapMt2_2 :: Monad m => (b -> m c) -> [(a, b)] -> m [(a, c)]
liftFieldModifier :: (state -> field, field -> state -> state) -> (a -> field -> (b, field)) -> a -> State state b
partitionM :: Monad m => (a -> m Bool) -> [a] -> m ([a], [a])
whenM :: Monad m => m Bool -> m () -> m ()
Produced by Haddock version 0.7
rmfile ./doc/haddock/Util-Monad.html hunk ./doc/haddock/Util-Options.html 1 - - -Util.Options
 ContentsIndex
Util.Options
Documentation
data Option a
Constructors
ODefault ([String] -> a)
OGroup String String
OFlag a [String] String
OOpts ([String] -> a) [String] String String
matchOption :: String -> [Option a] -> Maybe (Option a)
data Token
Constructors
TString String
TOption String
show/hide Instances
Show Token
tokenise :: String -> [Token]
munch :: [Option a] -> [Token] -> ([String], [a])
munchS :: [Option a] -> [Token] -> [Either String a]
munchR :: [Option a] -> [Token] -> [Either String a]
makeOptionHelp :: Int -> [Option a] -> String
Produced by Haddock version 0.7
rmfile ./doc/haddock/Util-Options.html hunk ./doc/haddock/Util-Pretty-Comb.html 1 - - -Util.Pretty.Comb
 ContentsIndex
Util.Pretty.Comb
Documentation
class Pretty a where
Methods
pretty :: a -> String
prettyp :: a -> PrettyP
show/hide Instances
data PrettyP
Constructors
PString String
PChar Char
PList [PrettyP]
PAppend [PrettyP]
PIndent PrettyP
PTabAdd Int
PTabInc
PTabDec
PTabNext
PAnnot String
show/hide Instances
data RenderS
Constructors
RenderS
stateTabWidth :: Int
stateIndent :: Int
stateCol :: Int
render :: PrettyP -> String
spaceTab :: RenderS -> [PrettyP] -> [PrettyP]
reduce :: (?state :: RenderS) -> PrettyP -> [PrettyP]
type PComb2 = (Pretty a, Pretty b) => a -> b -> PrettyP
(%) :: PComb2
(%!%) :: (Pretty a, Pretty b) => a -> [b] -> PrettyP
Produced by Haddock version 0.7
rmfile ./doc/haddock/Util-Pretty-Comb.html hunk ./doc/haddock/Util-Pretty-Misc.html 1 - - -Util.Pretty.Misc
 ContentsIndex
Util.Pretty.Misc
Documentation
padRc :: Char -> Int -> String -> String
padLc :: Char -> Int -> String -> String
indent :: Int -> String -> String
showHex :: Int -> String
showHexPad :: Int -> Int -> String
Produced by Haddock version 0.7
rmfile ./doc/haddock/Util-Pretty-Misc.html hunk ./doc/haddock/Util-Pretty.html 1 - - -Util.Pretty
 ContentsIndex
Util.Pretty
Produced by Haddock version 0.7
rmfile ./doc/haddock/Util-Pretty.html hunk ./doc/haddock/Util-PrettyPrint.html 1 - - -Util.PrettyPrint
 ContentsIndex
Util.PrettyPrint
Documentation
data State
Constructors
State
tabWidth :: Int
indentTable :: [(String, Int)]
column :: Int
tabStop :: Int
sourceTabWidth :: Int
stack :: [Int]
initState :: State
spaceOut :: String -> String
spaceOutR :: State -> String -> String
Produced by Haddock version 0.7
rmfile ./doc/haddock/Util-PrettyPrint.html hunk ./doc/haddock/Util-Terminal-VT100.html 1 - - -Util.Terminal.VT100
 ContentsIndex
Util.Terminal.VT100
Documentation
data Mode
Constructors
Reset
Bright
Dim
Underscore
Blink
Reverse
Hidden
show/hide Instances
Eq Mode
Show Mode
codeMode :: [(Mode, Int)]
data Color
Constructors
Black
Red
Green
Yellow
Blue
Magenta
Cyan
White
show/hide Instances
Eq Color
Show Color
codeColor :: [(Color, Int)]
setAttribute :: Mode -> String
setForeground :: Color -> String
setBackground :: Color -> String
resetAttribute :: String
Produced by Haddock version 0.7
rmfile ./doc/haddock/Util-Terminal-VT100.html hunk ./doc/haddock/Util-Tuple.html 1 - - -Util.Tuple
 ContentsIndex
Util.Tuple
Produced by Haddock version 0.7
rmfile ./doc/haddock/Util-Tuple.html hunk ./doc/haddock/Util.html 1 - - -Util
 ContentsIndex
Util
Produced by Haddock version 0.7
rmfile ./doc/haddock/Util.html hunk ./doc/haddock/doc-index-37.html 1 - - - (Index)
 ContentsIndex
ABCDEFGHIJKLMNOPRSTUVWXY%/<=>
Index (%)
%
%!%
%#<
%#>
%>
%>>
rmfile ./doc/haddock/doc-index-37.html hunk ./doc/haddock/doc-index-47.html 1 - - - (Index)
 ContentsIndex
ABCDEFGHIJKLMNOPRSTUVWXY%/<=>
Index (/)
/@=
rmfile ./doc/haddock/doc-index-47.html hunk ./doc/haddock/doc-index-60.html 1 - - - (Index)
 ContentsIndex
ABCDEFGHIJKLMNOPRSTUVWXY%/<=>
Index (<)
<:
<::
rmfile ./doc/haddock/doc-index-60.html hunk ./doc/haddock/doc-index-61.html 1 - - - (Index)
 ContentsIndex
ABCDEFGHIJKLMNOPRSTUVWXY%/<=>
Index (=)
=@=
=^=
=~=
rmfile ./doc/haddock/doc-index-61.html hunk ./doc/haddock/doc-index-62.html 1 - - - (Index)
 ContentsIndex
ABCDEFGHIJKLMNOPRSTUVWXY%/<=>
Index (>)
>::
rmfile ./doc/haddock/doc-index-62.html hunk ./doc/haddock/doc-index-A.html 1 - - - (Index)
 ContentsIndex
ABCDEFGHIJKLMNOPRSTUVWXY%/<=>
Index (A)
AAlt
ACaseDeath
ACaseSusp
ADefault
AEffectVar
AKet
AMatch
ASwitch
ATypeVar
Alt
1 (Type/Class)
2 (Type/Class)
3 (Type/Class)
Annot
1 (Type/Class)
2 (Type/Class)
AnnotAll
AnnotMisc
AnnotType
AnnotVar
Arg
ArgPath
At
addBackRef
addBackRefE
addBackRefR
addBackRefT
addBindVars
addChopped
addClassIdSubs
addDataDef
addDef
addDefaultKind
addDefaultKinds
addErrors
addFetters
addInfoLambdas
addLambdaVT
addLetBound
addRFettersT
addSuperProtosTree
addTForall
addToClass
addToClassE
addToClassR
addToClassT
addTopVar
addTypeApps
addTypeLambdas
addVarSubs
adjustWithDefault
alias
aliasTree
allocClass
allocClassE
allocClassR
allocClassT
allocUniqueId
annotCGens
annotE
annotMisc
annotT
annotTE
annotType
annotVar
appendMapPretty
rmfile ./doc/haddock/doc-index-A.html hunk ./doc/haddock/doc-index-B.html 1 - - - (Index)
 ContentsIndex
ABCDEFGHIJKLMNOPRSTUVWXY%/<=>
Index (B)
BSlash
BTick
Bang
Bar
BindArg
BindCtor
BindImportExtern
BindLambda
BindLet
BindMode
BindSnoc
Black
Blink
Blue
Bright
bindE
bindFreeVarsP
bindN
bindR
bindT
bindType
bindTypesTree
bindV
bindVtoT
branchEnv
branchEnvC
branchInst
branchLambda
branchLet
branchSub
breakOns
breakWhens
buildRun
rmfile ./doc/haddock/doc-index-B.html hunk ./doc/haddock/doc-index-C.html 1 - - - (Index)
 ContentsIndex
ABCDEFGHIJKLMNOPRSTUVWXY%/<=>
Index (C)
CBra
CBranch
CChar
CClosure
CConst
CDataFields
CDef
CEq
CEqE
CError
CFloat
CGen
CInfo
1 (Type/Class)
2 (Data Constructor)
CInt
CKet
CNil
CSig
CSlurpM
CSlurpS
1 (Type/Class)
2 (Data Constructor)
CString
CTree
CTreeNil
Case
Catch
Class
1 (Data Constructor)
2 (Type/Class)
3 (Data Constructor)
ClassE
ClassId
ClassIdE
ClassIdR
ClassIdT
ClassR
ClassT
Colon
Color
Comma
CommentBlockEnd
CommentBlockStart
CommentLineStart
Compile
Const
Constraint
CoreM
CoreS
1 (Type/Class)
2 (Data Constructor)
Ctor
Cyan
callInstances
catInt
catLeftOrError
catMap
catMapM
chainApps
chainRegisterVar
chainResolveVar
chainSub
chase
checkConst
checkPure
checkSig
chopLambdas
chopTForall
chopTFun
clamp0
classBackRef
classId
classInit
classItems
className
cleanEVarsT
codeColor
codeMode
collect
collectAirity
collectClassIdsE
collectClassIdsN
collectClassIdsR
collectClassIdsT
collectEffsT
collectTConsT
collectTypes
column
1 (Function)
2 (Function)
compileFile
coreGenValue
coreLetBound
coreLift
coreMapEffects
1 (Function)
2 (Function)
coreMapInst
1 (Function)
2 (Function)
coreMapNodes
1 (Function)
2 (Function)
coreMapSchemes
1 (Function)
2 (Function)
coreRegionEffects
coreTree
coreTypes
coreVars
coreVarsClassE
coreVarsClassR
coreVarsClassT
coreVarsEffect
coreVarsType
coreVarsValue
countOcc
crushProjClassT
crushToXDo
curryCall
curryTree
rmfile ./doc/haddock/doc-index-C.html hunk ./doc/haddock/doc-index-D.html 1 - - - (Index)
 ContentsIndex
ABCDEFGHIJKLMNOPRSTUVWXY%/<=>
Index (D)
Dash
Data
DataDef
DataField
1 (Type/Class)
2 (Data Constructor)
Dim
Do
Dollar
Dot
DumpAll
DumpCore
DumpCoreCurry
DumpCoreLifted
DumpCoreMaskLocal
DumpCoreRegionEffects
DumpCoreSnip
DumpCoreTrans
DumpSea
DumpSeaCtor
DumpSeaForce
DumpSeaMatch
DumpSeaReturn
DumpSeaSlot
DumpSeaSub
DumpSeaThunk
DumpSource
DumpSourceAliased
DumpSourceDefixed
DumpSourceHacks
DumpSourceParsed
DumpSourceRenameTrace
DumpSourceRenamed
DumpSourceSlurped
DumpTypeCallGraph
DumpTypeConstraints
DumpTypeSlurpTrace
DumpTypeSolveTrace
dInit
dLabel
dPrimary
dType
death
decendA
decendE
decendG
decendS
decendT
decendX
1 (Function)
2 (Function)
3 (Function)
decimateR
defaultKindV
defix
defixApps
defixP
degeneralise
delLetBound
delTouched
delTouchedE
delTouchedR
delTouchedT
dropIx
dropStateM
1 (Function)
2 (Function)
3 (Function)
dropWhen
dump
dumpCT
dumpET
dumpS
dumpST
rmfile ./doc/haddock/doc-index-D.html hunk ./doc/haddock/doc-index-E.html 1 - - - (Index)
 ContentsIndex
ABCDEFGHIJKLMNOPRSTUVWXY%/<=>
Index (E)
ECase
EClass
ECon
1 (Data Constructor)
2 (Data Constructor)
EEnd
1 (Data Constructor)
2 (Data Constructor)
EFetter
ENil
1 (Data Constructor)
2 (Data Constructor)
EPipe
1 (Data Constructor)
2 (Data Constructor)
EPort
1 (Data Constructor)
2 (Data Constructor)
ESink
ESum
1 (Data Constructor)
2 (Data Constructor)
EVar
1 (Data Constructor)
2 (Data Constructor)
Effect
1 (Type/Class)
2 (Data Constructor)
3 (Type/Class)
EffectArrow
EffectInfo
1 (Type/Class)
2 (Data Constructor)
Else
Env
Equals
Error
1 (Data Constructor)
2 (Type/Class)
3 (Type/Class)
ErrorAmbiguousProjection
ErrorDefixMixedAssoc
ErrorDefixNonAssoc
ErrorFieldNotPresent
ErrorImpureTopLevelEffect
ErrorInfiniteTypeClassId
ErrorInfiniteTypeGen
ErrorMutabilityConflict
ErrorMutabilityPureReadWrite
ErrorParse
ErrorParseBefore
ErrorParseEnd
ErrorPatternAirity
ErrorRedefinedVar
ErrorSanityCoreMissing
ErrorSigEffects
ErrorSigScheme
ErrorUndefinedVar
ErrorUnifyCtorMismatch
Exp
1 (Type/Class)
2 (Type/Class)
3 (Type/Class)
Export
Extern
eClashScheme
eClashSig
eClassId
eClassIds
eConstFetter
eConstSource
eConstructor
eCtor1
eCtor2
eCtorAirity
eCtorVar
eEff
eEffFunV
eEffScheme
eEffSig
eEffType
eField
eFirstDefined
eLoops
eMutableFetter
eMutableSource
ePatternAirity
ePureFetter
ePureFunV
ePureSource
ePureType
eReadEff
eReadSource
eRedefined
eRegion
eScheme
eSig
eType
eTypeSource1
eTypeSource2
eUndefined
eVar
eVarsMissing
eWriteEff
eWriteSource
eachAndOthers
effectInfoInit
eiSource
elabInstM
elaborateT
elemF
eraseEnvT
evalVarGen
expand
expandCtorTree
expandCtors
expandEffects
expandPClassT
expandThunking
expandThunkingTree
rmfile ./doc/haddock/doc-index-E.html hunk ./doc/haddock/doc-index-F.html 1 - - - (Index)
 ContentsIndex
ABCDEFGHIJKLMNOPRSTUVWXY%/<=>
Index (F)
FClassE
FClassR
FClassT
FEffect
FField
FFunInfo
FSlash
Fetter
FixDef
Forall
feedES
feedEffectC
feedNS
feedRS
feedTS
feedType
feedTypeC
feedTypeDown
file
fileDir
fileName
filePath
filePaths
fillBranchInst
findType
flattenApps
flattenAppsE
flattenEs
flattenFun
flattenFunT
foldlR
foldlR_
forceTree
freeVarsE
1 (Function)
2 (Function)
freeVarsF
freeVarsS
freeVarsT
1 (Function)
2 (Function)
freeVarsX
fromEVar
fullTree
rmfile ./doc/haddock/doc-index-F.html hunk ./doc/haddock/doc-index-G.html 1 - - - (Index)
 ContentsIndex
ABCDEFGHIJKLMNOPRSTUVWXY%/<=>
Index (G)
GCon
GConst
GDefault
GUnit
GraphColorClasses
GraphColorColors
GraphColorSegments
GraphColorSources
GraphTypeGraph
GraphTypeVars
Green
Guard
gather
gatherEffectsE
gatherEffectsT
gatherEither
gatherStaticRegions
gdlCallGraph
generaliseT
getBindModeV
getChopped
getConstType
getCoreVar
getDef
getEffects
getFettersZ
getGroundType
getNode
getScheme
getTime
getTopVars
getTouched
getTouchedE
getTouchedR
getTouchedT
getType
getVtoT
rmfile ./doc/haddock/doc-index-G.html hunk ./doc/haddock/doc-index-H.html 1 - - - (Index)
 ContentsIndex
ABCDEFGHIJKLMNOPRSTUVWXY%/<=>
Index (H)
HasConstraint
HasOpType
HasType
Hash
Help
Hidden
hack
hacks
headerCore
headerSourceTree
helpString
rmfile ./doc/haddock/doc-index-H.html hunk ./doc/haddock/doc-index-I.html 1 - - - (Index)
 ContentsIndex
ABCDEFGHIJKLMNOPRSTUVWXY%/<=>
Index (I)
IAlias
IBoundBy
ILambda
IParent
ISchemeVar
ISourcePos
IString
IValueLiteral
IValueVar
If
Import
ImportDirs
In
Infix
InfixL
InfixLeft
InfixMode
InfixNone
InfixR
InfixRight
InfixSuspend
InputFile
Instance
Interface
1 (Type/Class)
2 (Data Constructor)
importDirs
imports
1 (Function)
2 (Function)
inSpaceColor
inSpaceEffect
inSpaceRegion
inSpaceSegment
inSpaceType
inSpaceValue
incVarId
indent
1 (Function)
2 (Function)
indentTable
info
initCSlurpS
initCoreS
initInterface
initLiftS
initModule
initRenameS
initRenderS
initState
instVar
instantiateT
interface
interpolate
interslurp
invokeLinker
invokeSeaCompiler
isDummy
isLetRecursive
isNil
isSymbol
isTFun_
isTypeName
isXApp
rmfile ./doc/haddock/doc-index-I.html hunk ./doc/haddock/doc-index-J.html 1 - - - (Index)
 ContentsIndex
ABCDEFGHIJKLMNOPRSTUVWXY%/<=>
Index (J)
JField
1 (Data Constructor)
2 (Data Constructor)
JFieldR
1 (Data Constructor)
2 (Data Constructor)
Junk
rmfile ./doc/haddock/doc-index-J.html hunk ./doc/haddock/doc-index-K.html 1 - - - (Index)
 ContentsIndex
ABCDEFGHIJKLMNOPRSTUVWXY%/<=>
Index (K)
KEffect
KFun
KRegion
KType
KeepCFiles
KeepOFiles
Kind
rmfile ./doc/haddock/doc-index-K.html hunk ./doc/haddock/doc-index-L.html 1 - - - (Index)
 ContentsIndex
ABCDEFGHIJKLMNOPRSTUVWXY%/<=>
Index (L)
LChar
LFloat
LIndex
LInt
LString
Label
Let
LiftM
LiftS
1 (Type/Class)
2 (Data Constructor)
Literal
labelFunsT
labelTypeP
labelTypeX
lambdaLift
lambdaLiftP
lambdaLiftTree
lbindE
lbindF
lbindN
lbindR
lbindT
lbindV
lbindVtoT
liftCType
liftFieldModifier
liftMaybe
liftMaybeR
line
lintFinal
load
loadInterface
lookupBindVars
lookupClass
lookupClassE
lookupClassR
lookupClassT
lookupCtor
lookupE
lookupF
lookupInst
lookupN
lookupR
lookupScheme
lookupSigmaVar
lookupT
lookupV
lookupVarToClassId
lookupVarToClassIdE
lookupVarToClassIdR
lookupVarToClassIdT
loopi
rmfile ./doc/haddock/doc-index-L.html hunk ./doc/haddock/doc-index-M.html 1 - - - (Index)
 ContentsIndex
ABCDEFGHIJKLMNOPRSTUVWXY%/<=>
Index (M)
Magenta
Make
Mode
Module
1 (Type/Class)
2 (Data Constructor)
3 (Data Constructor)
makeClassName
makeClassNameR
makeClassNameT
makeClassV
makeClassVE
makeClassVR
makeClassVT
makeCtorType
makeCtorTypeAVT
makeDummyConst
makeInterface
makeMainC
makeMaybe
makeOptionHelp
makePaths
makeTFun
makeTFunEE
mapMt2_1
mapMt2_2
mapMuz
mapT2_1
mapT2_2
mapT3_1
mapT3_2
mapT3_3
mashClassE
mashClassR
mashClassT
maskEsFreshT
maskEsLocalT
maskEsPureT
maskLocal
maskLocalTree
matchOption
mergeClasses
mergeClassesE
mergeClassesR
mergeClassesT
mergeConstraints
mkCollect
mread
munch
munchFileName
rmfile ./doc/haddock/doc-index-M.html hunk ./doc/haddock/doc-index-N.html 1 - - - (Index)
 ContentsIndex
ABCDEFGHIJKLMNOPRSTUVWXY%/<=>
Index (N)
NNil
NString
NType
NVar
NVarType
NameClassE
NameClassR
NameClassT
NameColor
NameEffect
NameField
NameModule
NameNothing
NameRegion
NameSegment
NameSpace
NameType
NameValue
NewLine
NoImplicitPrelude
NoSourcePos
NoVarId
name
1 (Function)
2 (Function)
nameModule
nameSpace
new
newCBranch
newVar
1 (Function)
2 (Function)
3 (Function)
newVarC
newVarCS
newVarE
newVarES
newVarF
newVarFS
newVarFV
newVarId
newVarInst
newVarN
1 (Function)
2 (Function)
3 (Function)
newVarNI
newVarNS
newVarR
newVarRS
newVarT
newVarTS
newVarV
newVarVS
newVarZ
newVars
normaliseT
nubF
rmfile ./doc/haddock/doc-index-N.html hunk ./doc/haddock/doc-index-O.html 1 - - - (Index)
 ContentsIndex
ABCDEFGHIJKLMNOPRSTUVWXY%/<=>
Index (O)
ODefault
OFlag
OGroup
OOpts
Of
OptAll
OptFullLaziness
Option
OutputFile
optFullLaziness
options
orf
outSea
rmfile ./doc/haddock/doc-index-O.html hunk ./doc/haddock/doc-index-P.html 1 - - - (Index)
 ContentsIndex
ABCDEFGHIJKLMNOPRSTUVWXY%/<=>
Index (P)
PBind
PBlank
PClassE
PClassR
PClassT
PClassTC
PComment
PCtor
1 (Data Constructor)
2 (Data Constructor)
PData
1 (Data Constructor)
2 (Data Constructor)
3 (Data Constructor)
PEffect
1 (Data Constructor)
2 (Data Constructor)
PExtern
PHackery
PHashDef
PImportExtern
PImportModule
PInclude
PInfix
PInstance
PModule
PNil
1 (Data Constructor)
2 (Data Constructor)
PProto
PStmt
PStruct
PSuper
1 (Data Constructor)
2 (Data Constructor)
PTypeDecl
Path
1 (Type/Class)
2 (Data Constructor)
Percent
Plus
Pretty
PrettyP
Proj
1 (Type/Class)
2 (Type/Class)
packFetters
packForallVars
packTouched
packTouchedE
packTouchedR
packTouchedT
packType
padL
padLc
padR
padRc
panic
parse
1 (Function)
2 (Function)
3 (Function)
partitionFs
partitionM
patchP
pathBase
pathC
pathH
pathO
pathTI
pipeEsT
pipeifyE
plugClassIdsE
plugClassIdsT
popE
popN
popR
popT
popTRE
popV
popVTRE
portifyE
post
post'
pretty
prettyA
prettyClass
prettyEs
prettyPos
prettyPosBound
prettySeaVar
prettyTB
prettyTS
prettyTypeSplit
prettyVK
prettyp
primCrushString
primVars
pushE
pushN
pushR
pushReturnMatchS
pushT
pushTRE
pushV
pushVTRE
rmfile ./doc/haddock/doc-index-P.html hunk ./doc/haddock/doc-index-R.html 1 - - - (Index)
 ContentsIndex
ABCDEFGHIJKLMNOPRSTUVWXY%/<=>
Index (R)
RBra
RClass
RCon
RFetter
RKet
RPort
RSum
RVar
Red
Region
RegionInfo
1 (Type/Class)
2 (Data Constructor)
Rename
RenameM
RenameS
1 (Type/Class)
2 (Data Constructor)
Reset
Reverse
RightArrow
reduce
regionInfoInit
remove
rename
1 (Function)
2 (Function)
renameData
renameTree
rename_VT
resetAttribute
returnJ
returnN
rewriteEs
rewriteEsT
rewriteX
riSource
rotate
runRename
rmfile ./doc/haddock/doc-index-R.html hunk ./doc/haddock/doc-index-S.html 1 - - - (Index)
 ContentsIndex
ABCDEFGHIJKLMNOPRSTUVWXY%/<=>
Index (S)
SAssign
SAuto
SAutoBind
SBind
1 (Data Constructor)
2 (Data Constructor)
SBlank
SBra
SColon
SComment
1 (Data Constructor)
2 (Data Constructor)
SGoto
SHackery
SKet
SLabel
SMatch
SReturn
SSlotPop
SSlotPush
SStmt
1 (Data Constructor)
2 (Data Constructor)
3 (Data Constructor)
SSwitch
School
1 (Type/Class)
2 (Data Constructor)
SourcePos
1 (Type/Class)
2 (Data Constructor)
SquidM
SquidS
1 (Type/Class)
2 (Data Constructor)
Star
State
1 (Type/Class)
2 (Data Constructor)
Stmt
1 (Type/Class)
2 (Type/Class)
3 (Type/Class)
StopCompile
StopErrors
StopTrauma
StopType
StopTypeConstraint
Symbol
schoolClass
schoolClassIdGen
schoolClassSub
schoolClassTouched
schoolInit
schoolMakeClassId
schoolVarToClassId
scrubAnnotMisc
scrubAnnotType
scrubAnnotVar
scrubAnnots
scrubEffects
scrubEffectsSS
seaCode
seaCtor
seaForce
1 (Function)
2 (Function)
seaHeader
seaReturn
1 (Function)
2 (Function)
seaSlot
1 (Function)
2 (Function)
seaSub
seaThunk
seaTree
selMatch
selMatchTree
separate
seqTree
sequenceBranches
sequenceF
sequenceFF
setAttribute
setBackground
setBindModeV
setForeground
setSpaceColor
setSpaceEffect
setSpaceModule
setSpaceRegion
setSpaceSegment
setSpaceType
setSpaceValue
showHex
showHexPad
showSource
showTypeConstraints
showTypeSlurpTrace
showTypeSolveTrace
shuffle
sinkClassId
1 (Function)
2 (Function)
sinkClassIdE
sinkClassIdR
sinkClassIdT
sinkEffectsC
sinkRegionCF
sinkTypeC
sinkTypeCF
sinkTypeV
sinkVar
slotTree
slurpC
slurpCallGraph
slurpDataDefs
slurpFixTable
slurpH
slurpImportExterns
slurpImportModules
slurpInstantiate
slurpS
slurpTreeM
snipDown
snipDownTree
solveSquid
sortFettersT
sortForallVars
1 (Function)
2 (Function)
sortLambdaVars
sortVarKinds
source
sourceAliasX
sourceHacksX
sourceRenameTrace
sourceTabWidth
sourceTree
1 (Function)
2 (Function)
sourceTyped
spaceOut
splitOn
splitOns
splitWhen
splitWhens
squidExport
squidSInit
squidSolve
stack
stateBindMode
stateBindVars
stateBinds
stateChopped
stateClassE
stateClassR
stateClassT
stateCoreVar
stateCoreVars
1 (Function)
2 (Function)
3 (Function)
stateCurrentModule
stateDataDefs
stateDataFields
stateDebug
stateErrors
1 (Function)
2 (Function)
3 (Function)
stateGen
1 (Function)
2 (Function)
stateHeaderCore
stateInst
stateSchemeCache
stateSchemeExtern
stateSchemeInferred
stateSchemeSig
stateSchemeSusp
stateSigmaTable
stateSlurpDefs
stateStack
stateStop
stateTopVars
stateTrace
1 (Function)
2 (Function)
3 (Function)
stateTypes
stateVarGen
1 (Function)
2 (Function)
stateVarSub
stateVarType
staticRsDataT
staticRsEnvT
subTree
summariseT
superAirity
superOpType
symbolNames
synthClass
rmfile ./doc/haddock/doc-index-S.html hunk ./doc/haddock/doc-index-T.html 1 - - - (Index)
 ContentsIndex
ABCDEFGHIJKLMNOPRSTUVWXY%/<=>
Index (T)
TApp
TCaseAlt
TCaseObj
TClass
TColored
TCon
1 (Data Constructor)
2 (Data Constructor)
TData
TEffect
TError
TFetter
TFetters
TField
TForall
1 (Data Constructor)
2 (Data Constructor)
TFun
TFunEE
1 (Data Constructor)
2 (Data Constructor)
TFunF
TFunV
1 (Data Constructor)
2 (Data Constructor)
TIfObj
TInst
TInstLet
TJField
TJFieldR
TKEffect
TKRegion
TKType
TLambda
TLiteral
TMerge
TNil
1 (Data Constructor)
2 (Data Constructor)
TNothing
TObj
TOption
TProj
1 (Type/Class)
2 (Data Constructor)
TRegion
TSApp
TSCaseAlt
TSCaseMatch
TSCaseObj
TSCode
TSIfObj
TSInst
TSLambda
TSLiteral
TSNil
TSPattern
TSProj
TSSig
TSSynth
TSeed
TSig
TString
TSusp
TThunk
TTypeL
TVar
1 (Data Constructor)
2 (Data Constructor)
3 (Data Constructor)
TVarC
Then
Throw
Tilde
Token
1 (Type/Class)
2 (Type/Class)
TokenP
1 (Type/Class)
2 (Data Constructor)
Top
1 (Type/Class)
2 (Type/Class)
3 (Type/Class)
TopS
1 (Type/Class)
2 (Data Constructor)
TransTable
1 (Type/Class)
2 (Data Constructor)
3 (Type/Class)
4 (Data Constructor)
5 (Type/Class)
6 (Data Constructor)
Tree
1 (Type/Class)
2 (Type/Class)
3 (Type/Class)
Try
Tycon
Type
1 (Type/Class)
2 (Type/Class)
3 (Type/Class)
TypeInfo
1 (Type/Class)
2 (Data Constructor)
TypeSource
t2App
t2_1
t2_2
t3App
t3_1
t3_2
t3_3
t4App
t4_1
t4_2
t4_3
t4_4
t5App
t5_1
t5_2
t5_3
t5_4
t5_5
tClassE
tClassR
tClassT
tClassTC
tData
tEffect
tImportExtern
tOther
tStmt
tTypeDecl
tVar
tabAdvance
tabGet
tabGetA
tabL
tabLn
tabPop
tabPush
tabPushSC
tabR
tabReset
tabRn
tabRnA
tabRs
tabSC
tabSet
tabStop
tabWidth
takeCType
takeCVar
takeFirstJust
takeHead
takeLast
takeRegionT
takeStmtBoundV
takeTConRegions
takeVar
tiSource
toCore
toCoreE
toCoreK
toCoreP
toCoreT
toCoreTree
toCoreX
toRectangular
toSea
toSeaTree
token
tokenise
tossCore
tossRegionEffects
tossTops
touchClass
trace
traceEffectsC
traceEffectsZ
traceFettersZ
traceM
1 (Function)
2 (Function)
3 (Function)
transA
1 (Function)
2 (Function)
3 (Function)
transE
transG
transJ
transP
1 (Function)
2 (Function)
3 (Function)
transReturnTree
transS
1 (Function)
2 (Function)
3 (Function)
transSS
1 (Function)
2 (Function)
transStmtsA
1 (Function)
2 (Function)
transStmtsG
transStmtsP
1 (Function)
2 (Function)
transStmtsS
1 (Function)
2 (Function)
transStmtsTree
1 (Function)
2 (Function)
transStmtsX
1 (Function)
2 (Function)
transT
transTableId
1 (Function)
2 (Function)
3 (Function)
transUpAM
1 (Function)
2 (Function)
transUpEM
transUpExpAM
transUpExpPM
transUpExpSM
transUpExpXM
transUpPM
1 (Function)
2 (Function)
transUpSM
1 (Function)
2 (Function)
transUpT
transUpTM
1 (Function)
2 (Function)
transUpXM
1 (Function)
2 (Function)
transV
1 (Function)
2 (Function)
3 (Function)
transVarE
transVarN
transVarT
transX
1 (Function)
2 (Function)
3 (Function)
traumaName
typeCallGraph
typeConstraints
typeCoreVars
typeInfoInit
typeMapSchemes
typeSigmaTable
typeSlurpTrace
typeSolve
typeTrace
rmfile ./doc/haddock/doc-index-T.html hunk ./doc/haddock/doc-index-U.html 1 - - - (Index)
 ContentsIndex
ABCDEFGHIJKLMNOPRSTUVWXY%/<=>
Index (U)
Underscore
Unit
Unless
unflattenApps
unflattenAppsE
unflattenFun
unflattenFunT
unifyClass
unifyT2
unifyVarE2
unifyVarT2
unique
uniqueBind
uniquifyV
update
updateClass
updateClassT
updateE
updateF
updateR
updateSE
updateSR
updateST
updateT
rmfile ./doc/haddock/doc-index-U.html hunk ./doc/haddock/doc-index-V.html 1 - - - (Index)
 ContentsIndex
ABCDEFGHIJKLMNOPRSTUVWXY%/<=>
Index (V)
Var
1 (Type/Class)
2 (Data Constructor)
3 (Data Constructor)
VarGen
VarGenM
VarId
1 (Type/Class)
2 (Data Constructor)
VarInfo
Verbose
vanillaChar
vanillaName
varifyE
version
rmfile ./doc/haddock/doc-index-V.html hunk ./doc/haddock/doc-index-W.html 1 - - - (Index)
 ContentsIndex
ABCDEFGHIJKLMNOPRSTUVWXY%/<=>
Index (W)
When
Where
While
White
With
walk
walkDown
walkDownM
walkM
walkM_
walkUp
whenM
rmfile ./doc/haddock/doc-index-W.html hunk ./doc/haddock/doc-index-X.html 1 - - - (Index)
 ContentsIndex
ABCDEFGHIJKLMNOPRSTUVWXY%/<=>
Index (X)
XAlloc
XAllocData
XAllocSusp
XAllocThunk
XAnnot
1 (Data Constructor)
2 (Data Constructor)
XApp
1 (Data Constructor)
2 (Data Constructor)
XAppE
1 (Data Constructor)
2 (Data Constructor)
XAppF
XAppFP
XAppSusp
XApply
1 (Data Constructor)
2 (Data Constructor)
XArg
XAt
1 (Data Constructor)
2 (Data Constructor)
XCall
1 (Data Constructor)
2 (Data Constructor)
XCallApp
1 (Data Constructor)
2 (Data Constructor)
XCase
XCaseE
XCaseL
XCon
XConst
1 (Data Constructor)
2 (Data Constructor)
XCurry
1 (Data Constructor)
2 (Data Constructor)
XDefix
XDefixApps
XDo
1 (Data Constructor)
2 (Data Constructor)
XEq
XField
XFieldR
XIfThenElse
XInt
XLabel
XLambda
1 (Data Constructor)
2 (Data Constructor)
XLet
XLifted
XLiteral
XMatch
XMatchE
XNil
1 (Data Constructor)
2 (Data Constructor)
3 (Data Constructor)
XNothing
XNull
XOp
XProj
1 (Data Constructor)
2 (Data Constructor)
XProjF
XSlot
XSuper
XSuspend
1 (Data Constructor)
2 (Data Constructor)
XTag
XTagThunk
XThrow
XTry
XType
XUnit
1 (Data Constructor)
2 (Data Constructor)
3 (Data Constructor)
XUnless
XVar
1 (Data Constructor)
2 (Data Constructor)
3 (Data Constructor)
XVoid
XWhen
XWhile
rmfile ./doc/haddock/doc-index-X.html hunk ./doc/haddock/doc-index-Y.html 1 - - - (Index)
 ContentsIndex
ABCDEFGHIJKLMNOPRSTUVWXY%/<=>
Index (Y)
Yellow
rmfile ./doc/haddock/doc-index-Y.html hunk ./doc/haddock/doc-index.html 1 - - - (Index)
 ContentsIndex
Index
ABCDEFGHIJKLMNOPRSTUVWXY%/<=>
rmfile ./doc/haddock/doc-index.html hunk ./doc/haddock/haddock.css 1 -/* -------- Global things --------- */ - -BODY { - background-color: #ffffff; - color: #000000; - font-family: sans-serif; - } - -A:link { color: #0000e0; text-decoration: none } -A:visited { color: #0000a0; text-decoration: none } -A:hover { background-color: #e0e0ff; text-decoration: none } - -TABLE.vanilla { - width: 100%; - border-width: 0px; - /* I can't seem to specify cellspacing or cellpadding properly using CSS... */ -} - -TABLE.vanilla2 { - border-width: 0px; -} - -/* font is a little too small in MSIE */ -TT { font-size: 100%; } -PRE { font-size: 100%; } - -LI P { margin: 0pt } - -TD { - border-width: 0px; -} - -TABLE.narrow { - border-width: 0px; -} - -TD.s8 { height: 8px; } -TD.s15 { height: 15px; } - -SPAN.keyword { text-decoration: underline; } - -/* Resize the buttom image to match the text size */ -IMG.coll { width : 0.75em; height: 0.75em; margin-bottom: 0; margin-right: 0.5em } - -/* --------- Contents page ---------- */ - -DIV.node { - padding-left: 3em; -} - -DIV.cnode { - padding-left: 1.75em; -} - -SPAN.pkg { - position: absolute; - left: 50em; -} - -/* --------- Documentation elements ---------- */ - -TD.children { - padding-left: 25px; - } - -TD.synopsis { - padding: 2px; - background-color: #f0f0f0; - font-family: monospace - } - -TD.decl { - padding: 2px; - background-color: #f0f0f0; - font-family: monospace; - vertical-align: top; - } - -/* - arg is just like decl, except that wrapping is not allowed. It is - used for function and constructor arguments which have a text box - to the right, where if wrapping is allowed the text box squashes up - the declaration by wrapping it. -*/ -TD.arg { - padding: 2px; - background-color: #f0f0f0; - font-family: monospace; - vertical-align: top; - white-space: nowrap; - } - -TD.recfield { padding-left: 20px } - -TD.doc { - padding-top: 2px; - padding-left: 10px; - } - -TD.ndoc { - padding: 2px; - } - -TD.rdoc { - padding: 2px; - padding-left: 10px; - width: 100%; - } - -TD.body { - padding-left: 10px - } - -TD.pkg { - width: 100%; - padding-left: 10px -} - -TD.indexentry { - vertical-align: top; - padding-right: 10px - } - -TD.indexannot { - vertical-align: top; - padding-left: 20px; - white-space: nowrap - } - -TD.indexlinks { - width: 100% - } - -/* ------- Section Headings ------- */ - -TD.section1 { - padding-top: 15px; - font-weight: bold; - font-size: 150% - } - -TD.section2 { - padding-top: 10px; - font-weight: bold; - font-size: 130% - } - -TD.section3 { - padding-top: 5px; - font-weight: bold; - font-size: 110% - } - -TD.section4 { - font-weight: bold; - font-size: 100% - } - -/* -------------- The title bar at the top of the page */ - -TD.infohead { - color: #ffffff; - font-weight: bold; - padding-right: 10px; - text-align: left; -} - -TD.infoval { - color: #ffffff; - padding-right: 10px; - text-align: left; -} - -TD.topbar { - background-color: #000099; - padding: 5px; -} - -TD.title { - color: #ffffff; - padding-left: 10px; - width: 100% - } - -TD.topbut { - padding-left: 5px; - padding-right: 5px; - border-left-width: 1px; - border-left-color: #ffffff; - border-left-style: solid; - white-space: nowrap; - } - -TD.topbut A:link { - color: #ffffff - } - -TD.topbut A:visited { - color: #ffff00 - } - -TD.topbut A:hover { - background-color: #6060ff; - } - -TD.topbut:hover { - background-color: #6060ff - } - -TD.modulebar { - background-color: #0077dd; - padding: 5px; - border-top-width: 1px; - border-top-color: #ffffff; - border-top-style: solid; - } - -/* --------- The page footer --------- */ - -TD.botbar { - background-color: #000099; - color: #ffffff; - padding: 5px - } -TD.botbar A:link { - color: #ffffff; - text-decoration: underline - } -TD.botbar A:visited { - color: #ffff00 - } -TD.botbar A:hover { - background-color: #6060ff - } - rmfile ./doc/haddock/haddock.css hunk ./doc/haddock/haddock.js 1 -// Haddock JavaScript utilities -function toggle(button,id) -{ - var n = document.getElementById(id).style; - if (n.display == "none") - { - button.src = "minus.gif"; - n.display = "block"; - } - else - { - button.src = "plus.gif"; - n.display = "none"; - } -} rmfile ./doc/haddock/haddock.js binary ./doc/haddock/haskell_icon.gif oldhex *47494638376110001000f70f00000000800000008000808000000080800080008080c0c0c08080 *80ff000000ff00ffff000000ffff00ff00ffffffffff0000000000000000000000000000000000 *000000000000000000000000000000000000000000000000000000000000000000000000000000 *000000000000000000000000000000000000000000000000000000000000000000000000000000 *000000000000000000000000000000000000000000000000000000000000000000000000000000 *000000000000000000000000000000000000000000000000000000000000000000000000000000 *000000000000000000000000000000000000000000000000000000000000000000000000000000 *000000000000000000000000000000000000000000000000000000000000000000000000000000 *000000000000000000000000000000000000000000000000000000000000000000000000000000 *000000000000000000000000000000000000000000000000000000000000000000000000000000 *000000000000000000000000000000000000000000000000000000000000000000000000000000 *000000000000000000000000000000000000000000000000000000000000000000000000000000 *000000000000000000000000000000000000000000000000000000000000000000000000000000 *000000000000000000000000000000000000000000000000000000000000000000000000000000 *000000000000000000000000000000000000000000000000000000000000000000000000000000 *000000000000000000000000000000000000000000000000000000000000000000000000000000 *000000000000000000000000000000000000000000000000000000000000000000000000000000 *000000000000000000000000000000000000000000000000000000000000000000000000000000 *000000000000000000000000000000000000000000000000000000000000000000000000000000 *000000000000000000000000000000000000000000000000000000000000000000000000000000 *0021f90401000000002c000000001000100007086c0001007840b0a0418202073e38b0b021c387 *07143e2440c0a143040e091cd0787021c686151f84347800e343901d4b12646870e44a930d0952 *3ca832a6cc990555b2bc2992e4c79d3847ea2c88b3a7c89a2c8b8aa43874e941a60810003840b5 *aa55aa511346ddca75abc080003b newhex * rmfile ./doc/haddock/haskell_icon.gif hunk ./doc/haddock/index.html 1 - - -
 ContentsIndex
Modules
show/hideCore
Core.Bits
show/hideClass
Core.Class.Instance
Core.Curry
show/hideEffect
Core.Effect.Expand
Core.Effect.MaskLocal
Core.Effect.Scrub
Core.Exp
Core.FreezeStatic
show/hideCore.Lift
Core.Lift.AddFree
Core.Lift.Base
Core.Lift.BindTypes
Core.Lift.LiftP
Core.Lift.Patch
show/hideOptimise
Core.Optimise.FullLaziness
show/hideCore.Plate
Core.Plate.FreeVars
Core.Plate.Trans
Core.Plate.TransStmts
Core.Pretty
Core.SnipDown
Core.ToSea
Core.Unify
Core.Util
show/hideEvil
Evil.Chain
show/hideMain
Main.Arg
Main.Compile
Main.Path
Main.Version
show/hideModule
Module.Export
Module.IO
Module.Interface
Module.Main
Module.Module
Module.Pretty
show/hideSea
Sea.Ctor
Sea.Exp
Sea.Force
Sea.Match
show/hidePlate
Sea.Plate.Trans
Sea.Plate.TransStmts
Sea.Pretty
Sea.Proto
Sea.Return
Sea.Slot
Sea.Sub
Sea.Thunk
Sea.Util
show/hideShared
Shared.Base
Shared.Bits
Shared.DataUnify
Shared.Error
Shared.Exp
Shared.Literal
Shared.Pretty
Shared.Prim
Shared.Unique
Shared.Vanilla
Shared.Var
Shared.VarGen
Shared.VarUtil
show/hideSource
Source.Alias
Source.Defix
Source.DefixApps
Source.Error
Source.Exp
Source.FreeVarsE
Source.Hacks
Source.Lint
Source.Parser
show/hidePlate
Source.Plate.Trans
Source.Pretty
Source.Rename
Source.RenameM
Source.Separate
Source.Seq
Source.Slurp
show/hideSource.ToCore
Source.ToCore.Base
Source.ToCore.Lambda
Source.Token
Source.TokenShow
show/hideType
Source.Type.Slurp
Source.Type.SlurpS
Source.Type.Util
Source.Util
show/hideStages
Stages.Core
Stages.Dump
Stages.IO
Stages.Sea
Stages.Source
show/hideType
Type.Bits
Type.CheckSig
show/hideConstraint
Type.Constraint.Bits
Type.Constraint.CallGraph
show/hideType.Constraint.Post
Type.Constraint.Post.BranchInst
Type.Constraint.Post.ChainApps
Type.Constraint.Post.Degen
Type.Constraint.Post.InfoLambda
Type.Constraint.Post.Sequence
Type.Constraint.Pretty
Type.Constraint.State
Type.Constraint.Tree
Type.Constraint.Util
Type.CoreVars
show/hideEffect
Type.Effect.Bits
Type.Effect.MaskFresh
Type.Effect.MaskLocal
Type.Effect.MaskPure
Type.Elaborate
Type.Error
Type.Exp
Type.Generalise
Type.Instantiate
Type.Kind
Type.Label
Type.Normalise
Type.Pack
show/hideType.Plate
Type.Plate.Collect
Type.Plate.FreeVars
Type.Plate.Trans
Type.Plate.TransVar
Type.Plate.Update
Type.Pretty
show/hideSquid
Type.Squid.Base
Type.Squid.Bits
Type.Squid.CheckConst
Type.Squid.CheckPure
Type.Squid.Class
Type.Squid.CrushProj
Type.Squid.Dump
Type.Squid.Export
Type.Squid.Feed
Type.Squid.FeedS
Type.Squid.Horror
Type.Squid.Mash
Type.Squid.Plug
Type.Squid.Region
Type.Squid.Rewrite
Type.Squid.Scheme
Type.Squid.School
Type.Squid.Sink
Type.Squid.SinkE
Type.Squid.SinkR
Type.Squid.Solve
Type.Squid.State
Type.Squid.Synth
Type.Squid.TraceEffects
Type.Squid.TraceFetters
Type.Squid.Unify
Type.Squid.Update
Type.Summarise
Type.ToCore
show/hideUtil
Util.Either
Util.Generics
Util.List
Util.Map
Util.Math
Util.Maybe
Util.Misc
Util.Monad
Util.Options
show/hideUtil.Pretty
Util.Pretty.Comb
Util.Pretty.Misc
Util.PrettyPrint
show/hideTerminal
Util.Terminal.VT100
Util.Tuple
Produced by Haddock version 0.7
rmfile ./doc/haddock/index.html binary ./doc/haddock/minus.gif oldhex *47494638396109000900910000fefefe8282820202020000002c00000000090009000002118c8f *a00bc6eb5e0b40583b6596f1a11f14003b newhex * rmfile ./doc/haddock/minus.gif binary ./doc/haddock/plus.gif oldhex *47494638396109000900910000fefefe8282820202020000002c00000000090009000002148c8f *a00bb6b29c82ca897b5b7871cfce74085200003b newhex * rmfile ./doc/haddock/plus.gif rmdir ./doc/haddock hunk ./doc/notes/ddc-howto.txt 1 -Hi Matt, -Here is a tarball of a reasonably stable iteration of my compiler. Later versions have mostly been refactoring the source and fixing up of the existing functionality. I think this is the optimal version in terms of feature set vs broken-ness :) . - - ---- Getting it working - -unpack and then - - cd disciple - make - make runtime - bin/war - -This should build the libraries and run the tests, It'll be obvious from the screen log whether it's worked or not. - -This'll need a machine with a 32 bit word size. It *might* work for 64bits if you change the #define in runtime/Config.h from ArchPtr32 to ArchPtr64 - It once worked on my AMD64 at home but I don't even remember the last time I tested it. - - ---- Getting the Core IR - -If you want to see the CoreIR code, change to the toplevel dir and do something like: - - bin/ddc -i library -m test/Defib/Ackermann/Regular/Main.ds \ - -dump-core-reconstruct -l m - - -l m is for the math library, which everything needs - -you can dump other things, do - - bin/ddc - -for a list of options. - - ---- Graphics programs - -There are two programs that do graphics, compile with - - bin/ddc -i library -opt-tail-call -opt-boxing \ - -m test/Graphics/N-Body/Main.ds -l m X11 Xext \ - -L /usr/X11R6/lib -o bin/n-body - -or - - bin/ddc -i library -opt-tail-call -opt-boxing \ - -m test/Graphics/Simple/Main.ds -l m X11 Xext \ - -L /usr/X11R6/lib -o bin/simple - -You must have the -opt-tail-call or it'll run out of heap space. Some of the optimizations are a bit broken, so turning them all on with -O probably won't work. You might need to change the libraries or library paths to suit your particular system - haven't tried it on mac. - - ---- Profiling - -The runtime system can tell you some stuff, but the program has to exit normally - ie fall of the end of the main function, not by calling exit() at runtime. - -You can edit test/Graphics/N-Body/Main.ds and comment back in lines 270-271 to limit this program to a fixed number of frames. Recompile and then run with: - - bin/n-body +RTS -P - -When the program completes you should have a ddc-rts.prof file in the current directory listing some stuff. - - ---- More Profiling - -You can get more profiling information by editing - -runtime/Config.h - -change all #defines for _DDC_PROFILE_GC and friends to 1's. - -You have to then recompile the runtime system and the DDC libraries: - - make cleanWar - make cleanRuntime - - make runtime - bin/war - -If you now recompile and run the n-body code you should get a ddc-rts.prof file with a lot more stuff in it - I'll append the result to save you the hassle if you just want to see. - -The total allocation count in the "Alloc" section is broken because it's not tracking all different kinds of allocations, but the individual counts and the total under the "Garbage Collection" section should be ok. - -Anyway, hope it works for you - let me know if it doesn't. - -Ben. - - rmfile ./doc/notes/ddc-howto.txt hunk ./doc/notes/map.ds 1 ------------------------------------------------------------------------------------------- --- Example from Drowning in Kinds - Ben Lippmeier --- SAPLING 2007-06 --- --- Note: This probably isn't that readable without syntax highlighting... --- - ------------------------------------------------------------------------------------------- --- Source code - -map f xx - = case xx of { - Nil -> Nil; - Cons x xs -> Cons (f x) (map f xs); - }; - - ------------------------------------------------------------------------------------------- --- Type constraints --- Notes: --- * is the kind of data --- % is the kind of regions --- ! is the kind of effects --- $ is the kind of closures --- --- *<...> denotes a unification of types --- !{...} denotes a sum (l.u.b) of effects --- ${...} denotes a sum (l.u.b) of closures - -@CBranch (@BLetGroup [map]) -{ - @CBranch (@BLet [map]) - { - @CEq map tTC11lam; - @CBranch (@BLambda [f, xx]) - { - @CEq tTC11lam (f -($cTC0lam)> tTC13lam); - @CEq $cTC0lam ($cTC1lam \ f); - @CEq tTC13lam (xx -(!eTC0match $cTC1lam)> tTC15matchRHS); - @CEq $cTC1lam ($cTC2match \ xx); - @CEq tTC16_xx (*); - @CEq tTC15matchRHS (*); - @CEq !eTC1matchI (Base.!ReadH tTC16_xx); - @CEq !eTC0match !{!eTC1matchI; !eTC2alt; !eTC3alt}; - @CEq $cTC2match ${xx : xx; $cTC3alt; $cTC4alt}; - @CInst tTC16_xx xx; - @CBranch (@BNil) - { - @CEq tTC17guards (Main.List %rTC0 tTC18); - @CEq !eTC2alt !Bot; - @CEq $cTC3alt (Main.Nil : Nil); - @CInst tTC19_Nil Nil; - } - - @CBranch (@BDecon [x, xs]) - { - @CEq tTC20guards (Main.List %rTC1 tTC21); - @CEq !eTC3alt !eTC4app; - @CEq $cTC4alt ($cTC5app \ ${x : x; xs : xs}); - @CEq x tTC21; - @CEq xs (Main.List %rTC1 tTC21); - @CInst tTC26_Cons Cons; - @CInst tTC28_f f; - @CInst tTC29_x x; - @CEq tTC28_f (tTC29_x -(!eTC9app)> tTC27app); - @CEq !eTC8app !eTC9app; - @CEq $cTC7app ${f : f; x : x}; - @CEq tTC26_Cons (tTC27app -(!eTC7app)> tTC25app); - @CEq !eTC6app !{!eTC8app; !eTC7app}; - @CEq $cTC6app ${Main.Cons : Cons; $cTC7app}; - @CInst tTC32_map map; - @CInst tTC33_f f; - @CEq tTC32_map (tTC33_f -(!eTC13app)> tTC31app); - @CEq !eTC12app !eTC13app; - @CEq $cTC9app ${Main.map : map; f : f}; - @CInst tTC34_xs xs; - @CEq tTC31app (tTC34_xs -(!eTC11app)> tTC30app); - @CEq !eTC10app !{!eTC12app; !eTC11app}; - @CEq $cTC8app ${$cTC9app; xs : xs}; - @CEq tTC25app (tTC30app -(!eTC5app)> tTC24app); - @CEq !eTC4app !{!eTC6app; !eTC10app; !eTC5app}; - @CEq $cTC5app ${$cTC6app; $cTC8app}; - } - - } - - @CGen map; - } - -} - -------------------------------------------------------------------------------------- --- Extract subgraph for map. - -*** Scheme.extractType map - --- this is the type directly from the constraint graph. - - tTrace = - *10 - :- *8 = forall %r1 a. Main.List %r1 a - , *9 = forall %r1 a. a -> Main.List %r1 a -> Main.List %r1 a - , *10 = *13 -(!15 $16)> *14 - , *13 = *40 -(!71 $72)> *45 - , *14 = *20 -(!22 $18)> *21 - , *20 = Main.List %39 *40 - , *21 = Main.List %44 *45 - , !22 = !{!30; !33; !34} - , !30 = Base.!Read %39 - , !34 = !{!80; !98; !63} - , !80 = !{!71; !65} - , !98 = !{!15; !22} - , $16 = $18 \ f - , $18 = $24 \ xx - , $24 = ${xx : *20; $36; $37} - , $36 = Main.Nil : *8 - , $37 = $51 \ $52 - , $51 = ${$82; $100} - , $52 = ${x : *40; xs : *20} - , $74 = ${f : *13; x : *40} - , $82 = ${Main.Cons : *9; $74} - , $91 = ${Main.map : *10; f : *13} - , $100 = ${$91; xs : *20} - - --- the type packed into a more familiar form. - - tPack = - (*40 -(!71 $72)> *45) -(!15 $16)> Main.List %39 *40 -(!22 $18)> Main.List %44 *45 - :- !22 = !{Base.!Read %39; !33; !71; !65; !15; !63} - , $16 = $18 \ f - , $18 = ${ Main.Nil : forall %r1 a. Main.List %r1 a; - Main.Cons : forall %r1 a. a -> Main.List %r1 a -> Main.List %r1 a; - f : *40 -(!71 $72)> *45; - Main.map : (*40 -(!71 $72)> *45) -(!15 $16)> Main.List %39 *40 -(!22)> Main.List %44 *45} - - --- closure terms trimmed of uninteresting information. --- we're only really interested in monomorphic type, region and closure variables. - - tTrim = - (*40 -(!71 $72)> *45) -(!15 $16)> Main.List %39 *40 -(!22 $18)> Main.List %44 *45 - :- !22 = !{Base.!Read %39; !33; !71; !65; !15; !63} - , $18 = f : $72 - - -------------------------------------------------------------------------------------------- --- Generalisation of type for map - -*** Scheme.generaliseType map - --- the monotype to generalise, from above. - - tCore - (*40 -(!71 $72)> *45) -(!15 $16)> Main.List %39 *40 -(!22 $18)> Main.List %44 *45 - :- !22 = !{Base.!Read %39; !33; !71; !65; !15; !63} - , $18 = f : $72 - - --- no monovars in the environment, static regions, or dangerous type vars. - - envCids = [] - staticRsData = [] - staticCids = [] - --- rewrite effect and closure vars in contra-variant branches to ensure that they're acting as parameters. - - tPort - (*40 -(!eTS0 $cTS0)> *45) -(!15 $16)> Main.List %rTS2 *40 -(!22 $18)> Main.List %44 *45 - :- !22 = !{Base.!Read %rTS2; !33; !eTS0; !65; !15; !63} - , $18 = f : $cTS0 - - --- make up new names for monovars that are going to be generalised - - tPlug - (x -(!eTS0 $cTS0)> tTS1) -(!eTC12app $cTC0lam)> Main.List %rTS2 x -(!eTC11app $cTC1lam)> Main.List %rTS1 tTS1 - :- !eTC11app = !{Base.!Read %rTS2; !eTC2alt; !eTS0; !eTC7app; !eTC12app; !eTC5app} - , $cTC1lam = f : $cTS0 - --- clean out 'dead' effect / closure vars - ones that don't serve as unification points. - - vsFree = [x, tTS1, !eTS0, $cTS0, %rTS2, %rTS1, !eTC12app, $cTC0lam, Base.!Read, !eTC2alt, !eTC7app, !eTC5app] - vsPorts = [!eTS0, $cTS0] - vsClean = [!eTC12app, $cTC0lam, !eTC2alt, !eTC7app, !eTC5app] - - tClean - = (x -(!eTS0 $cTS0)> tTS1) -> Main.List %rTS2 x -(!eTC11app $cTC1lam)> Main.List %rTS1 tTS1 - :- !eTC11app = !{Base.!Read %rTS2; !eTS0} - , $cTC1lam = f : $cTS0 - - --- add the foralls out the front. - - tScheme - forall x tTS1 %rTS2 %rTS1 !eTS0 $cTS0 - . (x -(!eTS0 $cTS0)> tTS1) -> Main.List %rTS2 x -(!eTC11app $cTC1lam)> Main.List %rTS1 tTS1 - :- !eTC11app = !{Base.!Read %rTS2; !eTS0} - , $cTC1lam = f : $cTS0 - - --- normalise the names of quantified vars. - - tNormal - forall t0 t1 %r0 %r1 !e0 $c0 - . (t0 -(!e0 $c0)> t1) -> Main.List %r0 t0 -(!e1 $c1)> Main.List %r1 t1 - :- !e1 = !{Base.!Read %r0; !e0} - , $c1 = f : $c0 - - - rmfile ./doc/notes/map.ds rmdir ./doc/notes hunk ./doc/type/Port.ds 1 - - -effect !Console :: !; - -foreign import extern "print" - print :: Int -(!{!Console})> () - :$ Data -> Data; - - ------------------------------------------------------------------- --- app2 - -app2 b f g x - = case b of { - True -> (f, f x); - False -> (g, g x); - }; - - --- not the best, but ok. --- !e0 is input var, but shows in all fns. - - tNormal - forall t0 t1 %r0 %r1 !e0 $c0 - . Main.Bool %r0 - -($c1)> (t0 -(!e0 $c0)> t1) - -($c2)> (t0 -(!e0 $c0)> t1) - -($c3)> t0 - -(!e1 $c4)> Main.Tuple2 %r1 - (t0 -(!e0 $c0)> t1) - t1 - - :- !e1 = !{Base.!Read %r0; !e0} - , $c1 = $c2 \ b - , $c2 = $c3 \ f - , $c3 = $c4 \ g - , $c4 = ${b :: Main.Bool %r0; f :: $c0; g :: $c0} - - - - ---------------------------------------------------------------- ----- app2' - -app2 b f g x - = case b of { - True -> (f, f x); - False -> (g, g x); - True -> (print, print x); - }; - - - --- problem. --- !e1 contains effect !Console, so is not a free var. --- Does not get bound by !e1. Is not a port. - - tNormal - forall %r0 %r1 $c0 - . Main.Bool %r0 - -($c1)> (Main.Int -(!e1 $c0)> Main.Unit) - -($c2)> (Main.Int -(!e1 $c0)> Main.Unit) - -($c3)> Main.Int - -(!e0 $c4)> Main.Tuple2 %r1 - (Main.Int -(!e1 $c0)> Main.Unit) - Main.Unit - - :- !e0 = !{Base.!Read %r0; !e1} - , !e1 = Main.!Console - , $c1 = $c2 \ b - , $c2 = $c3 \ f - , $c3 = $c4 \ g - , $c4 = ${b :: Main.Bool %r0; f :: $c0; g :: $c0} - ---- after forcePortsT - - - tNormal - forall %r0 %r1 %r2 %r3 %r4 %r5 !e0 !e1 $c0 $c1 - . Main.Bool %r0 - -($c2)> (Main.Int %r1 -(!e0 $c0)> Main.Unit) - -($c3)> (Main.Int %r2 -(!e1 $c1)> Main.Unit) - -($c4)> Main.Int %r3 - -(!e2 $c5)> Main.Tuple2 %r4 - (Main.Int %r5 -(!e3 $c6)> Main.Unit) - Main.Unit - - :- !e2 = !{Base.!Read %r0; !e3} - , !e3 = !{Main.!Console; !e1; !e0} - , $c2 = $c3 \ b - , $c3 = $c4 \ f - , $c4 = $c5 \ g - , $c5 = ${b :: Main.Bool %r0; f :: $c6; g :: $c6} - , $c6 = ${$c1; $c0} - - - rmfile ./doc/type/Port.ds hunk ./doc/type/app2/App2.constraints.ds 1 -@CBranch [@BLet Main.app2] - (env = [Data.Tuple.Tuple2]) -{ - @CEq app2 tTC37lam; - @CBranch [@BLambda b, @BLambda f, @BLambda g, @BLambda x] - (env = [Data.Tuple.Tuple2]) - { - @CEq tTC37lam b -($cTC13lam)> tTC39lam; - @CEq $cTC13lam $cTC14lam \ b; - @CEq tTC39lam f -($cTC14lam)> tTC41lam; - @CEq $cTC14lam $cTC15lam \ f; - @CEq tTC41lam g -($cTC15lam)> tTC43lam; - @CEq $cTC15lam $cTC16lam \ g; - @CEq tTC43lam x -(!eTC13match $cTC16lam)> tTC46matchRHS; - @CEq $cTC16lam $cTC17match \ x; - @CEqs [tTC45matchLHS, b, tTC47guards, tTC52guards] - @CEqs [tTC46matchRHS, tTC48app, tTC53app] - @CEq !eTC14matchI Base.!ReadH b; - @CEq !eTC13match !{!eTC14matchI; !eTC15alt; !eTC22alt}; - @CEq $cTC17match ${b :: b; $cTC18alt; $cTC22alt}; - @CBranch [] - (env = [Data.Tuple.Tuple2, f, x]) - { - @CEqs [tTC47guards, Main.Bool %rTC5] - @CEq !eTC15alt !{!eTC16app; !Pure}; - @CEq $cTC18alt ${$cTC19app; $Empty} \ ${}; - @CInst tTC50_Tuple2 Tuple2; - @CEq tTC50_Tuple2 f -(!eTC19app)> tTC49app; - @CEq !eTC18app !eTC19app; - @CEq $cTC20app ${Data.Tuple.Tuple2 :: Tuple2; f :: f}; - @CEq f x -(!eTC21app)> tTC51app; - @CEq !eTC20app !eTC21app; - @CEq $cTC21app ${f :: f; x :: x}; - @CEq tTC49app tTC51app -(!eTC17app)> tTC48app; - @CEq !eTC16app !{!eTC18app; !eTC20app; !eTC17app}; - @CEq $cTC19app ${$cTC20app; $cTC21app}; - } - - @CBranch [] - (env = [Data.Tuple.Tuple2, g, x]) - { - @CEqs [tTC52guards, Main.Bool %rTC6] - @CEq !eTC22alt !{!eTC23app; !Pure}; - @CEq $cTC22alt ${$cTC23app; $Empty} \ ${}; - @CInst tTC55_Tuple2 Tuple2; - @CEq tTC55_Tuple2 g -(!eTC26app)> tTC54app; - @CEq !eTC25app !eTC26app; - @CEq $cTC24app ${Data.Tuple.Tuple2 :: Tuple2; g :: g}; - @CEq g x -(!eTC28app)> tTC56app; - @CEq !eTC27app !eTC28app; - @CEq $cTC25app ${g :: g; x :: x}; - @CEq tTC54app tTC56app -(!eTC24app)> tTC53app; - @CEq !eTC23app !{!eTC25app; !eTC27app; !eTC24app}; - @CEq $cTC23app ${$cTC24app; $cTC25app}; - } - - } - - @CGen app2 [Data.Tuple.Tuple2]; -} rmfile ./doc/type/app2/App2.constraints.ds hunk ./doc/type/app2/App2.generalise.ds 1 -=== Generalise app2 - vsEnv = [Data.Tuple.Tuple2] - -*** Scheme.extractType app2 - - envCids = [] - - tTrace = - @150 - :- @1 = forall %r1 a b. a -> b -> Main.Tuple2 %r1 a b - , @150 = @153 -(@155 @156)> @154 - , @153 = Main.Bool @195 - , @154 = @161 -(@163 @158)> @162 - , @156 = @158 \ @159 - , @158 = @165 \ @166 - , @159 = b - , @161 = @175 -(@222 @223)> @206 - , @162 = @161 -(@170 @165)> @169 - , @165 = @172 \ @173 - , @166 = f - , @168 = @175 -(@222 @223)> @206 - , @169 = @175 -(@177 @172)> @176 - , @172 = @179 \ @180 - , @173 = g - , @176 = Main.Tuple2 @208 @161 @206 - , @177 = !{@186; @189; @190} - , @179 = ${b :: @153; @192; @193} - , @180 = x - , @186 = Base.!Read @195 - , @189 = !{@197; !Pure} - , @190 = !{@235; !Pure} - , @192 = @199 \ @201 - , @193 = @237 \ @239 - , @197 = !{@211; @222; @209} - , @199 = ${@200; $Empty} - , @200 = ${@218; @225} - , @201 = ${} - , @218 = ${Data.Tuple.Tuple2 :: @1; f :: @161} - , @225 = ${f :: @161; x :: @175} - , @235 = !{@249; @222; @247} - , @237 = ${@238; $Empty} - , @238 = ${@256; @263} - , @239 = ${} - , @256 = ${Data.Tuple.Tuple2 :: @1; g :: @161} - , @263 = ${g :: @161; x :: @175} - - tPack = - Main.Bool @195 - -(@155 @156)> (@175 -(@222 @223)> @206) - -(@163 @158)> (@175 -(@222 @223)> @206) - -(@170 @165)> @175 - -(@177 @172)> Main.Tuple2 @208 - (@175 -(@222 @223)> @206) @206 - - :- @177 = !{Base.!Read @195; @211; @222; @209; @249; @247} - , @156 = @158 \ b - , @158 = @165 \ f - , @165 = @172 \ g - , @172 = ${ b :: Main.Bool @195; - Data.Tuple.Tuple2 :: forall %r1 a b. a -> b -> Main.Tuple2 %r1 a b; - f :: @175 -(@222 @223)> @206; - g :: @175 -(@222 @223)> @206} - - tTrim = - Main.Bool @195 - -(@155 @156)> (@175 -(@222 @223)> @206) - -(@163 @158)> (@175 -(@222 @223)> @206) - -(@170 @165)> @175 - -(@177 @172)> Main.Tuple2 @208 (@175 -(@222 @223)> @206) @206 - - :- @177 = !{Base.!Read @195; @211; @222; @209; @249; @247} - , @156 = @158 \ b - , @158 = @165 \ f - , @165 = @172 \ g - , @172 = ${b :: Main.Bool @195; @223} - -*** Scheme.generaliseType app2 - - tCore - Main.Bool @195 - -(@155 @156)> (@175 -(@222 @223)> @206) - -(@163 @158)> (@175 -(@222 @223)> @206) - -(@170 @165)> @175 - -(@177 @172)> Main.Tuple2 @208 (@175 -(@222 @223)> @206) @206 - - :- @177 = !{Base.!Read @195; @211; @222; @209; @249; @247} - , @156 = @158 \ b - , @158 = @165 \ f - , @165 = @172 \ g - , @172 = ${b :: Main.Bool @195; @223} - - envCids = [] - - staticRsData = [] - staticCids = [] - - tPlug - Main.Bool %rTC5 - -(!eTS7 $cTC13lam)> (x -(!eTC27app $cTS5)> tTS5) - -(!eTS6 $cTC14lam)> (x -(!eTC27app $cTS5)> tTS5) - -(!eTS5 $cTC15lam)> x - -(!eTC13match $cTC16lam)> Main.Tuple2 %rTS4 (x -(!eTC27app $cTS5)> tTS5) tTS5 - - :- !eTC13match = !{Base.!Read %rTC5; !eTC18app; !eTC27app; !eTC17app; !eTC25app; !eTC24app} - , $cTC13lam = $cTC14lam \ b - , $cTC14lam = $cTC15lam \ f - , $cTC15lam = $cTC16lam \ g - , $cTC16lam = ${b :: Main.Bool %rTC5; $cTS5} - - tPort - Main.Bool %rTC5 - -(!eTS7 $cTC13lam)> (x -(!eTS8 $cTS6)> tTS5) - -(!eTS6 $cTC14lam)> (x -(!eTS9 $cTS7)> tTS5) - -(!eTS5 $cTC15lam)> x - -(!eTC13match $cTC16lam)> Main.Tuple2 %rTS4 (x -(!eTC27app $cTS5)> tTS5) tTS5 - - :- !eTC13match = !{Base.!Read %rTC5; !eTC18app; !eTC27app; !eTC17app; !eTC25app; !eTC24app} - , $cTC13lam = $cTC14lam \ b - , $cTC14lam = $cTC15lam \ f - , $cTC15lam = $cTC16lam \ g - , $cTC16lam = ${b :: Main.Bool %rTC5; $cTS5} - , $cTS5 = !{$cTS7; $cTS6} - , !eTC27app = !{!eTS9; !eTS8} - - tsPortSub = [(!eTC27app, !eTS8), ($cTS5, $cTS6), (!eTC27app, !eTS9), ($cTS5, $cTS7)] - vsPorts = [!eTS8, $cTS6, !eTS9, $cTS7] - - vsFree = [%rTC5, x, tTS5, !eTS8, $cTS6, !eTS9, $cTS7, %rTS4, !eTS5, !eTS6, !eTS7, Base.!Read, !eTC18app, !eTC17app, !eTC25app, !eTC24app] - vsClean = [!eTS5, !eTS6, !eTS7, !eTC18app, !eTC17app, !eTC25app, !eTC24app] - - tClean - = Main.Bool %rTC5 - -($cTC13lam)> (x -(!eTS8 $cTS6)> tTS5) - -($cTC14lam)> (x -(!eTS9 $cTS7)> tTS5) - -($cTC15lam)> x - -(!eTC13match $cTC16lam)> Main.Tuple2 %rTS4 (x -(!eTC27app $cTS5)> tTS5) tTS5 - - :- !eTC13match = !{Base.!Read %rTC5; !eTC27app} - , $cTS5 = !{$cTS7; $cTS6} - , !eTC27app = !{!eTS9; !eTS8} - , $cTC13lam = $cTC14lam \ b - , $cTC14lam = $cTC15lam \ f - , $cTC15lam = $cTC16lam \ g - , $cTC16lam = ${b :: Main.Bool %rTC5; $cTS5} - - - tNormal - forall t0 t1 %r0 %r1 !e0 !e1 $c0 $c1 - . Main.Bool %r0 - -($c3)> (t0 -(!e0 $c0)> t1) - -($c4)> (t0 -(!e1 $c1)> t1) - -($c5)> t0 - -(!e2 $c6)> Main.Tuple2 %r1 - (t0 -(!e3 $c2)> t1) - t1 - - :- !e2 = !{Base.!Read %r0; !e3} - , !e3 = !{!e1; !e0} - - , $c3 = $c4 \ b - , $c4 = $c5 \ f - , $c5 = $c6 \ g - , $c6 = ${b :: Main.Bool %r0; $c2} - , $c2 = !{$c1; $c0} - - -=== Generalise app2 done -============================================================= rmfile ./doc/type/app2/App2.generalise.ds hunk ./doc/type/app2/App2.hs 1 - - -app2 b f g x - = case b of { - True -> (f, f x); - False -> (g, g x); - }; rmfile ./doc/type/app2/App2.hs rmdir ./doc/type/app2 rmdir ./doc/type