27 lines
991 B
Plaintext
27 lines
991 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 '#'princ)
|