+ (:export #:export #:set-seed #:next-int #:next-double)
+ (:documentation
+ "Wrapper around mt19937.
+
+mt19937 implements a merseinne twister that must be adapted a little in
+order to match the implementation in the main NetLogo codebase which tries
+to match how java.util.Random works. Turtles, all the way down."))
+
+(defpackage #:clnl-transpiler
+ (:use :common-lisp)
+ (:export :transpile-commands :transpile-reporter)
+ (:documentation
+ "CLNL Transpiler
+
+The transpiler is responsible for taking an ast and turning it into valid CL code
+targeting the nvm. Here is where start to care about commands versus reporters
+and ensuring that things are in the right place. The reason we wait until here
+is because we want to allow someone else to play with the AST before handing it off
+to us. For instance, the command center wants to add \"show\" to reporters, and
+the users dictate based on entry point whether they are expecting a command
+or a reporter. So monitors can say \"hey, transpile this reporter\" and we'll check
+to make sure it actually is.