Advertisement
Guest User

Untitled

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