Advertisement
Guest User

Untitled

a guest
Feb 5th, 2015
432
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2. (empty-frame)
  3.  
  4. null
  5.  
  6. (update)
  7.  
  8.      /\
  9.     /  \
  10.    /\   \
  11. var val /\
  12.        /  \
  13.       /\   \
  14.      /  \   \
  15.     var val  \
  16.               \
  17.               null
  18.  
  19. (make-env)
  20.  
  21.           /\
  22.          /  \
  23. empty-frame  null
  24.  
  25.  
  26. (extend-env)
  27.  
  28.             /\
  29.            /  \
  30.   empty-frame  \
  31.                /\
  32.               /  \
  33.              /\  null
  34.             /  \
  35.            /\   \
  36.         var val /\
  37.                /  \
  38.               /\   \
  39.              /  \   \
  40.             var val  \
  41.                       \
  42.                       null
  43.  
  44. (define-var)
  45.  
  46.          /\
  47.         /  \
  48.        /    \
  49.       /\     \
  50.      /  \     \   current frame
  51.     /\   \     \
  52.  var val /\     \   <- defined var and val now
  53.         /  \     \
  54.        /\   \     \
  55.       /  \   \     \
  56.      var val  \     \
  57.                \     \
  58.                null   \
  59.                        \
  60.                        /\
  61.                       /  \
  62.                      /    \
  63.                     /\     \
  64.                    /  \     \
  65.                   /\   \     \   older frame
  66.                var val /\     \
  67.                       /  \     \
  68.                      /\   \     \
  69.                     /  \   \     \
  70.                    var val  \     \
  71.                              \     \
  72.                              null   \
  73.                                      \
  74.                                      /\
  75.                                     /  \
  76.                                    /    \
  77.                                   /\     \ oldest frame
  78.                                  /  \     \
  79.                                 /\   \     \
  80.                              var val /\     \
  81.                                     /  \     \
  82.                                    /\   \     \
  83.                                   /  \   \     \
  84.                                  var val  \     \
  85.                                            \     \
  86.                                            null   \
  87.                                                   null
  88.  
  89.  
  90. structure of closure
  91.  
  92. (make-closure)
  93.  
  94.         /\
  95.        /  \
  96. *lambda*   \
  97.            /\
  98.           /  \
  99.          /\   \
  100.         /  \   \
  101.        /    \   \
  102.       /\     \   \
  103.      /  \     \   \
  104.     /\   \     \   \
  105.  var val /\     \   \
  106.         /  \     \   \
  107.        /\   \     \   \
  108.       /  \   \     \   \
  109.      var val  \     \   \
  110.                \     \   \
  111.                null   \   \
  112.                        \   \
  113.                        /\   \
  114.                       /  \   \
  115.                      /    \   \
  116.                     /\     \   \
  117.                    /  \     \   \
  118.                   /\   \     \   \
  119.                var val /\     \   \
  120.                       /  \     \   \
  121.                      /\   \     \   \
  122.                     /  \   \     \   \
  123.                    var val  \     \   \
  124.                              \     \   \
  125.                              null   \   \
  126.                                      \   \
  127.                                      /\   \
  128.                                     /  \   \
  129.                                    /    \   \
  130.                                   /\     \   \
  131.                                  /  \     \   \
  132.                                 /\   \     \   \
  133.                              var val /\     \   \
  134.                                     /  \     \   \
  135.                                    /\   \     \   \
  136.                                   /  \   \     \   \
  137.                                  var val  \     \   \
  138.                                            \     \   \
  139.                                            null   \   \
  140.                                                    \   \
  141.                                                    null \
  142.                                                         /
  143.                                                        /
  144.                                                       /
  145.                                                      /
  146.                                                     /
  147.                                                    /
  148.                                                   /
  149.                                                  /
  150.                                                 /
  151.                                                /
  152.                                               /
  153.                                              /
  154.                                             /
  155.                                            /
  156.                                           /
  157.                                          /
  158.                                         /\
  159.                                        /  \
  160.                                       /    \
  161.                                      /      \
  162.                                     /\       \
  163.                                    x  \     function-body
  164.                                       /\    (+ x (* y z))
  165.                                      y  \       \
  166.                                         /\       \
  167.                                        z  null    \
  168.                                                    \
  169.                                                    /\
  170.                                                   +  \
  171.                                                      /\
  172.                                                     x  \
  173.                                                        /\
  174.                                                       *  \
  175.                                                          /\
  176.                                                         y  \
  177.                                                            /\
  178.                                                           z  null
  179.  
  180. structure of primitive
  181.  
  182. (make-primitive)
  183.  
  184.            /\
  185.           /  \
  186. *primitive*  /\
  187.             /  \
  188.            2   /\
  189.               /  \
  190.              /   null
  191.             /
  192. (lambda (args env)
  193.   (cons env (+ (car args) (cadr args))))
  194. */
  195.  
  196. )CM comment 1
  197. )CM comment 2
  198. )CM comment 3
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement