home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / alib / d5xx / d556 / scheme2c.lha / Scheme2C / Scheme-src.lzh / scsc / lambdaexp.sch < prev    next >
Text File  |  1991-10-11  |  2KB  |  75 lines

  1. ;;; External and in-line definitions for lambdaexp.sc
  2.  
  3. (define-in-line ($LAMBDA? x) (and (pair? x) (eq? (car x) '$lambda)))
  4.  
  5. (define-in-line ($LAMBDA-ID x) (and ($lambda? x) (cadr x)))
  6.  
  7. (define-in-line ($LAMBDA-BODY x) (and ($lambda? x) (cddr x)))
  8.  
  9. (define-in-line (SET-$LAMBDA-BODY! x body) (set-cdr! (cdr x) body))
  10.  
  11. (define-in-line (LAMBDA-REQVARS id) (get id 'reqvars))
  12.  
  13. (define-in-line (SET-LAMBDA-REQVARS! id vars) (put id 'reqvars vars))
  14.  
  15. (define-in-line (LAMBDA-OPTVARS id) (get id 'optvars))
  16.  
  17. (define-in-line (SET-LAMBDA-OPTVARS! id vars) (put id 'optvars vars))
  18.  
  19. (define-in-line (LAMBDA-LEXICAL id) (get id 'lexical))
  20.  
  21. (define-in-line (SET-LAMBDA-LEXICAL! id lexvars) (put id 'lexical lexvars))
  22.  
  23. (define-in-line (LAMBDA-CALLS id) (get id 'calls))
  24.  
  25. (define-in-line (SET-LAMBDA-CALLS! id x) (put id 'calls x))
  26.  
  27. (define-in-line (LAMBDA-GENERATE id) (get id 'generate))
  28.  
  29. (define-in-line (SET-LAMBDA-GENERATE! id x) (put id 'generate x))
  30.  
  31. (define-in-line (LAMBDA-CLOSED id) (get id 'closed))
  32.  
  33. (define-in-line (SET-LAMBDA-CLOSED! id x) (put id 'closed x))
  34.  
  35. (define-in-line (LAMBDA-DISPLAY-CLOSEP id) (get id 'display-closep))
  36.  
  37. (define-in-line (SET-LAMBDA-DISPLAY-CLOSEP! id x) (put id 'display-closep x))
  38.     
  39. (define-in-line (LAMBDA-NESTIN id) (get id 'nestin))
  40.  
  41. (define-in-line (SET-LAMBDA-NESTIN! id nestin) (put id 'nestin nestin))
  42.  
  43. (define-in-line (LAMBDA-EXITS id) (get id 'exits))
  44.  
  45. (define-in-line (SET-LAMBDA-EXITS! id exits) (put id 'exits exits))
  46.  
  47. (define-in-line (LAMBDA-INLINE-TAILS id) (get id 'inline-tails))
  48.  
  49. (define-in-line (SET-LAMBDA-INLINE-TAILS! id tails)
  50.     (put id 'inline-tails tails))
  51.     
  52. (define-in-line (LAMBDA-STR-CALLS id) (get id 'str-calls))
  53.  
  54. (define-in-line (SET-LAMBDA-STR-CALLS! id x) (put id 'str-calls x))
  55.     
  56. (define-in-line (LAMBDA-TAIL-CALLS id) (get id 'tail-calls))
  57.  
  58. (define-in-line (SET-LAMBDA-TAIL-CALLS! id x) (put id 'tail-calls x))
  59.     
  60. (define-in-line (LAMBDA-REAL-CALLS id) (get id 'real-calls))
  61.  
  62. (define-in-line (SET-LAMBDA-REAL-CALLS! id x) (put id 'real-calls x))
  63.  
  64. (define-in-line (LAMBDA-CODE-LABEL id) (get id 'code-label))
  65.  
  66. (define-in-line (SET-LAMBDA-CODE-LABEL! id x) (put id 'code-label x))
  67.     
  68. (define-in-line (LAMBDA-$LAMBDA id) (get id '$lambda))
  69.  
  70. (define-in-line (SET-LAMBDA-$LAMBDA! id exp) (put id '$lambda exp))
  71.  
  72. (define-in-line (LAMBDA-NAME id) (get id 'name))
  73.  
  74. (define-in-line (SET-LAMBDA-NAME! id x) (put id 'name x))
  75.