Language.SequentCore.Syntax

AST Types

data Term b

data Cont b

data Command b

data Bind b

data Alt b

data AltCon

data Expr a

type Program a

type ContId

type SeqCoreTerm

type SeqCoreCont

type SeqCoreCommand

type SeqCoreBind

type SeqCoreBndr

type SeqCoreAlt

type SeqCoreExpr

type SeqCoreProgram

Constructors

mkCommand

mkCompute

addLets

addNonRec

Deconstructors

lambdas

collectArgs

collectTypeArgs

collectTypeAndOtherArgs

collectArgsUpTo

partitionTypes

isLambda

isValueArg

isTypeTerm

isCoTerm

isErasedTerm

isRuntimeTerm

isProperTerm

isTrivial

isTrivialTerm

isTrivialCont

isReturnCont

commandAsSaturatedCall

asSaturatedCall

asValueCommand

flattenBind

flattenBinds

bindersOf

bindersOfBinds

Calculations

termArity

termType

contType

termIsBottom

commandIsBottom

needsCaseBinding

termOkForSpeculation

commandOkForSpeculation

contOkForSpeculation

termOkForSideEffects

commandOkForSideEffects

contOkForSideEffects

termIsCheap

contIsCheap

commandIsCheap

termIsExpandable

contIsExpandable

commandIsExpandable

Continuation ids

isContId

asContId

mkContTy

contTyArg

Alpha-equivalence

(=~=)

class AlphaEq a

type AlphaEnv

class HasId a