lambdalifting

Consts

upName = ":up"
  Source Edit
paramName = ":envP"
  Source Edit
envName = ":env"
  Source Edit

Procs

proc createClosureIterStateType(g: ModuleGraph; iter: PSym): PType {...}{.raises: [],
    tags: [].}
  Source Edit
proc getClosureIterResult(g: ModuleGraph; iter: PSym): PSym {...}{.raises: [],
    tags: [].}
  Source Edit
proc getEnvParam(routine: PSym): PSym {...}{.raises: [], tags: [].}
  Source Edit
proc makeClosure(g: ModuleGraph; prc: PSym; env: PNode; info: TLineInfo): PNode {...}{.
    raises: [Exception, ValueError, IOError, ERecoverableError],
    tags: [RootEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}
  Source Edit
proc liftIterSym(g: ModuleGraph; n: PNode; owner: PSym): PNode {...}{.
    raises: [Exception, ValueError, IOError, ERecoverableError],
    tags: [RootEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}
  Source Edit
proc freshVarForClosureIter(g: ModuleGraph; s, owner: PSym): PNode {...}{.
    raises: [Exception, ValueError, IOError, ERecoverableError],
    tags: [RootEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}
  Source Edit
proc getStateField(g: ModuleGraph; owner: PSym): PSym {...}{.
    raises: [Exception, ValueError, IOError, ERecoverableError],
    tags: [RootEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}
  Source Edit
proc semCaptureSym(s, owner: PSym) {...}{.raises: [], tags: [].}
  Source Edit
proc liftIterToProc(g: ModuleGraph; fn: PSym; body: PNode; ptrType: PType): PNode {...}{.
    raises: [Exception, ValueError, IOError, ERecoverableError, KeyError],
    tags: [RootEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}
  Source Edit
proc liftLambdas(g: ModuleGraph; fn: PSym; body: PNode; tooEarly: var bool): PNode {...}{.
    raises: [Exception, ValueError, IOError, ERecoverableError, KeyError],
    tags: [RootEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}
  Source Edit
proc liftLambdasForTopLevel(module: PSym; body: PNode): PNode {...}{.raises: [],
    tags: [].}
  Source Edit
proc liftForLoop(g: ModuleGraph; body: PNode; owner: PSym): PNode {...}{.
    raises: [Exception, ValueError, IOError, ERecoverableError],
    tags: [RootEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}
  Source Edit

Templates

template isIterator(owner: PSym): bool
  Source Edit