(defpackage #:clnl (:use :common-lisp)
- (:export :run :boot :run-commands :run-reporter)
+ (:export #:run #:boot #:run-commands #:run-reporter)
(:documentation
"Main CLNL package
(defpackage #:clnl-parser
(:use :common-lisp)
- (:export :parse)
+ (:export #:parse)
(:documentation
"CLNL Parser
(defpackage #:clnl-transpiler
(:use :common-lisp)
- (:export :transpile-commands :transpile-reporter)
+ (:export #:transpile-commands #:transpile-reporter)
(:documentation
"CLNL Transpiler
(defpackage #:clnl-nvm
(:use :common-lisp)
- (:export :export-world :create-world :current-state
+ (:export #:export-world #:create-world #:current-state
; API as used by transpiled NetLogo programs
#:ask
#:create-turtles
(defpackage #:clnl-lexer
(:use :common-lisp)
- (:export :lex)
+ (:export #:lex)
(:documentation
"CLNL Lexer
(defpackage #:clnl-interface
(:use :common-lisp)
- (:export :run :export-view)
+ (:export #:run #:export-view)
(:documentation
"CLNL Interface
The NetLogo view interface using opengl. This is responsible for taking the
current state of the enging and displaying it. Will not house any interface
components."))
+
+(defpackage #:clnl-cli
+ (:use :common-lisp :cl-charms/low-level)
+ (:export #:run)
+ (:documentation
+ "CLNL CLI
+
+The main NetLogo interface for interacting with the program. Since CLNL is
+a command line interface program with a view for display purposes only, this
+is where all the features that the traditional NetLogo UI lives."))
+
+(defpackage #:clnl-model
+ (:use :common-lisp :cl-charms/low-level)
+ (:export #:read-from-nlogo)
+ (:documentation
+ "CLNL Model
+
+The representation, parsing, and serializing of NetLogo model files, including
+all of the sections, and subsections held within. This package houses not only
+the code to read and write .nlogo files, but also the living state of the model
+as clnl runs."))