blob: 5a4d11b6bcd2c872f472ff3f0e55d5b9fb4fc4ce (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#!/home/dbane/openlisp-10.9.0/uxlisp -shell
;;; ISLisp is fine so long as you do "read-line" from the same place you call the entry point fun.
;;; So -shell with an immediate call doesn't work, something is closed after reading the Lisp source.
;;; -shell -keep, supplying the call from the keyboard works fine.
;;;
;;; Calling entry point from a Lisp CLI (after "load") also works.
;;; And this may be what I end up with, if I'm doing a view in Emacs.
(require "cmd")
(require "builtins")
(defpackage #:btech
(:use #:cmd #:builtins)
(:export
#:main))
(in-package #:btech)
;; 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 ()
(read-line) ; Throw away LF
(format (standard-output) "> ")
(let* ((tab (lookup (parse (read-line)) +cmds+))
(f (fun tab)))
(funcall f))) ; I *think* this is better than (flet ...
(provide "btech")
(main)
|