X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=test.lisp;h=ae8b02d4936cdec20797099740213a01e2a431cf;hb=1f4ae1183098cb793ad02b8aa08301f59488d28a;hp=0e128b369ee567a8bf9251899a24b3b8363e7207;hpb=2c2ab0bff82ef1417893edd4d9b2b65ee1afbb09;p=jscl.git diff --git a/test.lisp b/test.lisp index 0e128b3..ae8b02d 100644 --- a/test.lisp +++ b/test.lisp @@ -1,12 +1,76 @@ -(lambda (x y) - x) +;;; Library -(eval-when-compile - (%compile-defvar 'name)) -(setq name 10) -(debug name) +;;; Tests + +(lambda (x y) x) (debug "hola") (debug '(1 2 3 4)) (debug (if 2 (+ 2 1) 0)) (debug (= (+ 2 1) (- 4 1))) + +;;; Variables +(debug "---VARIABLES---") +(eval-when-compile + (%compile-defvar 'name)) +(setq name 10) +(debug name) + +;;; Functions +(debug "---FUNCTIONS---") +(eval-when-compile + (%compile-defun 'f)) +(fsetq f (lambda (x) (+ x 10))) +(debug (f 20)) + +(debug ((lambda (x) x) 9999)) + +(debug #'f) + +;;; Macros +(debug "---MACROS---") + + + +(defmacro incf (x) + (list 'setq x (list '+ 1 x))) + +(eval-when-compile + (%compile-defvar 'x)) + +(setq x 10) +(incf x) +(debug x) + +;;; Conses +(debug (cons 1 2)) +(debug (car (cons 1 2))) +(debug (cdr (cons 1 2))) + +(setq x '(1 . 2)) +(debug x) +(debug (eq x x)) +(debug (eq '(1 . 2) '(1 . 2))) + +;;; Symbols +(debug (symbol-name 'foo)) +(debug (symbol-name 'foo-bar)) + +(debug (progn 1 2 3 123)) + +(debug (let ((x 99999)) + (incf x))) + +;;; &rest lambda-list + +(debug (lambda (&rest x) x)) +(debug (lambda (x y &rest z) z)) +(debug (lambda (x y &rest z) x)) + + +;; (eval-when-compile +;; (%compile-defmacro 'defun +;; (lambda (name args &rest body) +;; (list 'eval-when-compile +;; (list 'compile-defun) +;; (list 'fsetq (list 'lambda args (list 'progn body)))))))