Changes between Version 22 and Version 23 of ExplicitCallStack


Ignore:
Timestamp:
Jan 29, 2007 4:45:52 PM (7 years ago)
Author:
guest
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ExplicitCallStack

    v22 v23  
    108108which is just a list of function names. 
    109109 
    110 === Transformation option 1 === 
    111110 
    112 This is probably the simplest transformation style possible. Stack traces are passed to functions at their lexical call sites, which correspond to the places where the function is mentioned in the source code. CAF bindings are treated as roots of stacks, so only function bindings receive stack arguments. In this transformation we can get away with simply passing one stack argument for each function, regardless of how many regular arguments it has. In contrast, other transformation styles 
    113 might pass one stack argument for every regular argument of the function. 
     111=== Notation === 
    114112 
    115 The notation: 
     113Double square brackets denote the transformation function, which has either one or two arguments, depending on what type of entity it is applied to. In most cases it has one argument, which is just a syntactic construct, but for expressions it 
     114has an additional argument which represents the current stack value. 
     115 
     116For instance: 
    116117 
    117118{{{ 
     
    119120}}} 
    120121 
    121 for some k, means transform the expression E, with stack value k.  
     122means transform expression E with k as the current stack value. 
     123 
     124=== Transformation option 1 === 
     125 
     126This is probably the simplest transformation style possible. Stack traces are passed to functions at their lexical call sites, which correspond to the places where the function is mentioned in the source code. CAF bindings are treated as roots of stacks, so only function bindings receive stack arguments. In this transformation we can get away with simply passing one stack argument for each function, regardless of how many regular arguments it has. In contrast, other transformation styles 
     127might pass one stack argument for every regular argument of the function. 
    122128 
    123129{{{