(car (quote (a b c)))
(cdr (quote (a b c)))
(cons 1 (cons 2 (cons 3 ())))
(defun fact (n) (if (eq n 0) 1 (* n (fact (- n 1)))))
(fact 10)
(defun fib (n) (if (eq n 1) 1 (if (eq n 0) 1 (+ (fib (- n 1)) (fib (- n 2))))))
(fib 12)
(defun gen (n) ((lambda (x y) y) (define G n) (lambda (m) (define G (+ G m)))))
(define x (gen 100))
(x 10)
(x 300)

(defun concat (a b) (if a (cons (car a) (concat (cdr a) b)) b))
(defun < (a b) (neg? (- a b)))
(defun >= (a b) (if (< a b) nil t))
(defun filter-less1 (p h l) (if (< h p) (cons h l) l))
(defun filter-less (p l) (if l (filter-less1 p (car l) (filter-less p (cdr l))) nil))
(defun filter-more1 (p h l) (if (>= h p) (cons h l) l))
(defun filter-more (p l) (if l (filter-more1 p (car l) (filter-more p (cdr l))) nil))
(defun sort-1 (p l) (concat (sort (filter-less p l)) (cons p (sort (filter-more p l)))))
(defun sort (l) (if l (sort-1 (car l) (cdr l)) nil))
(sort (quote (6 4 3 5 1 2 7)))

(defun fizzbuzz (n) (if (eq n 11) nil (if (print (if (eq (mod n 15) 0) FizzBuzz (if (eq (mod n 5) 0) Buzz (if (eq (mod n 3) 0) Fizz n)))) (fizzbuzz (+ n 1)) nil)))
(fizzbuzz 1)
