about summary refs log tree commit diff stats
path: root/cbtech.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'cbtech.lisp')
-rwxr-xr-xcbtech.lisp18
1 files changed, 18 insertions, 0 deletions
diff --git a/cbtech.lisp b/cbtech.lisp
new file mode 100755
index 0000000..15eda5a
--- /dev/null
+++ b/cbtech.lisp
@@ -0,0 +1,18 @@
+(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")