haskell-src-meta-0.6.0.5: Parse source to template-haskell abstract syntax.

Portabilityportable (template-haskell)
Stabilityexperimental
MaintainerMatt Morrow <mjm2002@gmail.com>
Safe HaskellNone

Language.Haskell.Meta.Syntax.Translate

Contents

Description

 

Synopsis

Documentation

class ToName a where

Methods

toName :: a -> Name

class ToLit a where

Methods

toLit :: a -> Lit

Instances

ToLit Char 
ToLit Double 
ToLit Float 
ToLit Int 
ToLit Integer 
ToLit String 
ToLit Literal 

class ToType a where

Methods

toType :: a -> Type

Instances

class ToPat a where

Methods

toPat :: a -> Pat

Instances

ToPat Pat 
ToPat Lit 
ToPat a => ToPat [a] 
(ToPat a, ToPat b) => ToPat (a, b) 
(ToPat a, ToPat b, ToPat c) => ToPat (a, b, c) 
(ToPat a, ToPat b, ToPat c, ToPat d) => ToPat (a, b, c, d) 

class ToExp a where

Methods

toExp :: a -> Exp

Instances

ToExp QOp 
ToExp Exp 
ToExp Lit 
ToExp a => ToExp [a] 
(ToExp a, ToExp b) => ToExp (a, b) 
(ToExp a, ToExp b, ToExp c) => ToExp (a, b, c) 
(ToExp a, ToExp b, ToExp c, ToExp d) => ToExp (a, b, c, d) 

class ToDecs a where

Methods

toDecs :: a -> [Dec]

class ToDec a where

Methods

toDec :: a -> Dec

Instances

class ToStmt a where

Methods

toStmt :: a -> Stmt

Instances

class ToLoc a where

Methods

toLoc :: a -> Loc

Instances

moduleName :: [Char]

noTH :: Show e => String -> e -> a

noTHyet :: Show e => String -> String -> e -> a

todo :: Show e => String -> e -> a

nonsense :: Show e => String -> String -> e -> a

ToName {String,HsName,Module,HsSpecialCon,HsQName}

ToLit HsLiteral

ToPat HsPat

ToExp HsExp

toFieldExp :: FieldUpdate -> FieldExp

toMatch :: Alt -> Match

toBody :: GuardedAlts -> Body

toGuard :: GuardedAlt -> (Guard, Exp)

ToLoc SrcLoc

ToType HsType

toKind :: Kind -> Kind

toTyVar :: TyVarBind -> TyVarBndr

(.->.) :: Type -> Type -> Type

toCxt :: Context -> Cxt

foldAppT :: Type -> [Type] -> Type

ToStmt HsStmt

ToDec HsDecl

hsBindsToDecs :: Binds -> [Dec]

hsBangTypeToStrictType :: BangType -> (Strict, Type)

transAct :: Activation -> Phases

bangToVarStrictTypes :: [Name] -> BangType -> [VarStrictType]

bangToStrictType :: BangType -> StrictType

hsMatchToClause :: Match -> Clause

hsRhsToBody :: Rhs -> Body

hsStmtToGuard :: Stmt -> Guard

ToDecs InstDecl

ToDecs HsDecl HsBinds

collectVars :: Type -> [TyVarBndr]

fixForall :: Type -> Type