Tue Jul 1 11:19:44 EDT 2014
is a bit of a mess..
How to simplify?
Really, there is all the "scat" stuff that I don't use. I use:
- .fm / .f files with macros / forth code
- .rkt files to define table data in scheme
- 0-arg scheme words for live interaction
It is important to be able to use live words both at the console and
in compilation. There is a lot of wrapping going on making all the
namespaces work together...
Basically, a host command uses `live:' which uses `live-interpret' in
(define (live-interpret sym)
(define (dbg dict) '(printf "live-interpret: ~a ~a\n" sym dict))
(define defined? (make-ns-defined? sym))
((defined? '(scat)) => (lambda (x) (dbg 'scat) x))
((defined? '()) => (lambda (x) (dbg 'scheme) (scat-wrap-dynamic x)))
(else (error 'undefined "~s" sym))))
It gets a bit confusing in `scat-wrap-dynamic' which is essentially