Skip to content

NetLogo/Tortoise

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,234 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tortoise

NetLogo Web is a JavaScript implementation of the NetLogo programming language and simulation environment. It runs entirely in a web browser, no plugins or installs required. Run it now at netlogoweb.org or get more information at netlogo.org.

If you're encountering an error with NetLogo Web:

See CONTRIBUTING.md for build setup, testing, and contributing guidelines.

Libraries

The following lists the JavaScript runtime libraries used by Tortoise and the licenses they are released under:

Key Scala libraries include scalaz, play-json, and Scala.js.

Requirements

Tortoise requires GraalVM CE 25 (Java 25). The recommended way to install it is via SDKMAN!. The sbt.sh script will automatically activate the correct GraalVM version via SDKMAN! if it is installed. The ./sbt.sh wrapper also pins the Node.js binary to avoid conflicts with GraalVM's bundled node. Use it instead of invoking sbt directly to avoid any oddities.

Compiling

There are several sbt builds within the Tortoise project. Run them via ./sbt.sh:

  • compilerJVM builds the JVM compiler project, used for running some tests.
  • compilerJS builds the Scala.js compiler project, which creates tortoise-compiler.js that can turn NetLogo models and code into javascript.
  • engine builds the combination CoffeeScript and Scala.js engine project, creating tortoise-engine.js, which is required to actually run the result of compiling a NetLogo model to javascript.
  • netLogoWeb contains a JVM project which runs end-to-end tests against the artifacts of compilerJS and engine, using the Graal JS javascript runtime. It also contains the task to publish the finished JavaScript compiler and engine artifacts as a package.
  • macrosJS/JVM contain macros used by Tortoise in widget serialization/deserialization.

For more information see the Tortoise architecture wiki page

Hosted By: Cloudsmith

Package repository hosting is graciously provided by Cloudsmith.

About

Compiler and runtime engine for NetLogo models that runs in JavaScript 🐢

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors