lambdalifting

Source   Edit  

Consts

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

Procs

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

Templates

template isIterator(owner: PSym): bool
Source   Edit