anchor.diff:  	
   
   
  -
  
positive.code: 	(gethash sym *sym-table*))
  
  (defvar *func-table* (make-hash-table :test #'equal))
  
  (defun set-functions ()
  	(setf (gethash '+ *func-table*) #'+)
  
negative.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
  ;;; TODO remove the seperate case for functions there shouldn't be a need for a seperate case
  (defun set-eval (expr)
  	(if (equal 'lambda (car (caddr expr)))
  		(set-function (cadr expr) (caddr 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))
  