about summary refs log tree commit diff stats
path: root/cbasic.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'cbasic.lisp')
-rw-r--r--cbasic.lisp19
1 files changed, 17 insertions, 2 deletions
diff --git a/cbasic.lisp b/cbasic.lisp
index 706c564..1085e16 100644
--- a/cbasic.lisp
+++ b/cbasic.lisp
@@ -1,11 +1,26 @@
 ;;; I'm trying to write an interpreter for a BBC BASIC subset
 ;;; initially following the design of
 ;;; https://caml.inria.fr/pub/docs/oreilly-book/html/book-ora058.html
-;;; and later I can Frankenstein it with
-;;; https://github.com/Henry/BuddKaminInterpreters
+;;; then later I can optimise following
+;;; https://github.com/Henry/BuddKaminInterpreters and
+;;; https://oleksandrmanzyuk.wordpress.com/2014/06/18/from-object-algebras-to-finally-tagless-interpreters-2/
+;;;
+;;; A BASIC interpreter already exists at
+;;; https://gitlab.com/com-informatimago/com-informatimago/-/tree/master/small-cl-pgms/basic
+;;; but it is idiomatic CL,
+;;; whereas I'm experimenting with a subset like ISLisp.
 
+;; Because this is the main package,
+;; 1) ql:quickload QuickLisp dependencies and
+;; 2) load local dependencies here.
 (load "cutil.lisp")
 (load "cparse.lisp")
+;; Use require & defpackage in each package from then on.
+;; NB: must have no circular dependencies, and topologically sort the loads.
+;;
+;; TODO: it's easier to just get started with ASDF
+;;       ( https://lisp-lang.org/learn/writing-libraries )
+
 (require "cparse")
 (require "")
 (defpackage #:cbasic