anchor.diff:  	(gethash sym *sym-table*))
   
   (defvar *func-table* (make-hash-table :test #'equal))
  +
  +(defun set-function (name body)
  +	(setf (gethash name *func-table*)  (eval body))) ;;; TODO figure out what eval is doing to this lambda expression
   
   (defun set-functions ()
   	(setf (gethash '+ *func-table*) #'+)
  
positive.code: ;;; Sets a variable to given value which is either an atom or a function, TODO add environment/scope later
  ;;; (set! var 2)
  ;;; (set! var (lambda (x) (* x x))) for example
  (defun set-eval (expr)
  	(set-variable (cadr expr) (evall (caddr expr))))
  	
  ;;; Hash table for holding user defined functions and variables 
  (defvar *sym-table* (make-hash-table :test #'equal))
  