Files
glisp/lisp/kernel.gl
T
2026-09-07 18:59:09 -07:00

31 lines
1.1 KiB
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))
(let ((t1 (make-hash-table))
(t2 (make-hash-table)))
(puthash t1 'a 'b)
(puthash t2 'a 'b)
(princln (equal t1 t2)))