(require "ccmd") (require "cbuiltins") (defpackage #:cbtech (:use #:common-lisp #:ccmd #:cbuiltins) (:export #:main)) (in-package #:cbtech) ;; Favour symbols & objects over C-like numbers (defconstant +cmds+ (list (create-tab #'bt-quit "QUIT" 1) (create-tab #'help "help" 2) (create-tab #'look "look" 2))) (defun main () (format *standard-output* "> ") (let* ((tab (lookup (parse (read-line)) +cmds+)) (f (fun tab))) (funcall f))) ; I *think* this is better than (flet ... (provide "cbtech")