Prims - Implement set-default-shape
[clnl] / src / main / package.lisp
index 83df57fe535f4ea2e4cbab7c94e15a45a01ae23a..b1c4a2757dfabff275c9a4621502103b43b68e76 100644 (file)
@@ -1,5 +1,5 @@
 (defpackage #:clnl (:use :common-lisp)
 (defpackage #:clnl (:use :common-lisp)
- (:export #:run #:boot #:run-commands #:run-reporter)
+ (:export #:run #:boot #:run-commands #:run-reporter #:*model-package*)
  (:documentation
   "Main CLNL package
 
  (:documentation
   "Main CLNL package
 
@@ -15,10 +15,25 @@ the place that ties all the parts together into a cohesive whole."))
 All the code to convert the list of tokens coming from the lexer
 into an ast that can be transpiled later."))
 
 All the code to convert the list of tokens coming from the lexer
 into an ast that can be transpiled later."))
 
+(defpackage #:clnl-code-parser
+ (:use :common-lisp)
+ (:export #:parse #:globals)
+ (:documentation
+  "CLNL Code Parser
+
+A parser specifically for code from NetLogo models, that turns the lexed
+ast from an entire structured file into something more defined.
+
+This is different from the general parser (in clnl-parser) in that
+it's made for parsing the code section of nlogo files, and so works
+outside of the constraints.  In NetLogo, I believe this is analagous
+to the StructureParser, but I'm guessing there's weird overlap with
+other things."))
+
 (defpackage #:clnl-random
  (:use :common-lisp)
  (:shadow #:export)
 (defpackage #:clnl-random
  (:use :common-lisp)
  (:shadow #:export)
- (:export #:export #:set-seed #:next-int #:next-double)
+ (:export #:export #:set-seed #:next-int #:next-double #:next-long)
  (:documentation
   "Wrapper around mt19937.
 
  (:documentation
   "Wrapper around mt19937.
 
@@ -49,14 +64,33 @@ into an ast that can be transpiled later."))
 
 (defpackage #:clnl-nvm
  (:use :common-lisp)
 
 (defpackage #:clnl-nvm
  (:use :common-lisp)
+ (:shadow #:random #:count)
  (:export #:export-world #:create-world #:current-state
   ; API as used by transpiled NetLogo programs
  (:export #:export-world #:create-world #:current-state
   ; API as used by transpiled NetLogo programs
+  #:agent-value
   #:ask
   #:ask
+  #:count
   #:create-turtles
   #:create-turtles
+  #:die
+  #:hatch
+  #:of
   #:forward
   #:forward
+  #:lookup-color
+  #:one-of
+  #:patches
+  #:reset-ticks
+  #:random
   #:random-float
   #:random-float
+  #:random-xcor
+  #:random-ycor
+  #:set-default-shape
+  #:setxy
   #:show
   #:show
-  #:turtles)
+  #:turtles
+  #:tick
+  #:ticks
+  #:turn-right #:turn-left
+  #:with)
  (:documentation
   "CLNL NVM
 
  (:documentation
   "CLNL NVM
 
@@ -72,7 +106,7 @@ The primary code responsible for tokenizing NetLogo code."))
 
 (defpackage #:clnl-interface
  (:use :common-lisp)
 
 (defpackage #:clnl-interface
  (:use :common-lisp)
- (:export #:run #:export-view)
+ (:export #:run #:export-view #:initialize)
  (:documentation
   "CLNL Interface
 
  (:documentation
   "CLNL Interface
 
@@ -91,8 +125,8 @@ 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
 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)
+ (:use :common-lisp)
+ (:export #:default-model #:read-from-nlogo #:world-dimensions #:globals)
  (:documentation
   "CLNL Model
 
  (:documentation
   "CLNL Model