Files
glisp/lisp/kernel.gl
T

27 lines
1003 B
Plaintext

;; -*- mode: lisp-data -*-
(fset 'defmacro (cons 'macro
(lambda (name lambda-list &rest body)
"Define NAME to be a macro."
(declare (name defmacro))
(list 'fset (list 'quote name)
(list 'cons
(quote 'macro)
(list* 'lambda lambda-list
(list 'declare (list 'name name))
body))))))
(defmacro defun (name lambda-list &rest body)
"Define NAME to be a function."
(list 'fset (list 'quote name)
(list* 'lambda lambda-list
(list 'declare (list 'name name))
body)))
(defun princln (datum &optional print-char-fun)
"`princ' DATUM to PRINT-CHAR-FUN. Then print a newline."
(princ datum print-char-fun)
(funcall (or print-char-fun 'write-byte) ?\n))
(princln (apply 'cons '(a b)))