home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / mitsch75.zip / scheme-7_5_17-src.zip / scheme-7.5.17 / src / compiler / documentation / facts.txt < prev    next >
Text File  |  1993-10-29  |  1KB  |  29 lines

  1. Some useful facts:
  2.  
  3. * A canonical subproblem has a `continuation' component that satisfies
  4. the predicate `continuation?'.  The `prefix' component is never null,
  5. and always terminates in a return whose operator is `continuation', or
  6. a combination with that continuation.  The `rvalue' component is
  7. always a reference to the parameter of `continuation'.
  8.  
  9. * A non-canonical subproblem has a `continuation' component that is a
  10. virtual continuation; this continuation is never reified.  The
  11. `rvalue' component is arbitrary.  The `prefix' component may or may
  12. not be null.
  13.  
  14. * Every non-canonical subproblem is eventually translated into a
  15. virtual return node.  The exception to this rule is that subproblems
  16. whose values are unused or known are usually translated into null
  17. sequences.  In either case the prefix is output.
  18.  
  19. * A continuation which is the operator of the
  20. `application-continuation-push' of some application satisfies
  21. `continuation/always-known-operator?'.  Furthermore, it has precisely
  22. one application: the one of which it is the associated
  23. continuation-push.
  24.  
  25. * A return node can only have a `continuation-push' if it was created
  26. by `combination/constant!' (i.e. was the result of constant-folding).
  27. In this case the `continuation-push' is guaranteed to be of type
  28. `effect', so that the continuation is not pushed at all.
  29.