https://github.com/netlogo/tortoise
Compiler and runtime engine for NetLogo models that runs in JavaScript 🐢
https://github.com/netlogo/tortoise
netlogo netlogo-web
Last synced: 7 months ago
JSON representation
Compiler and runtime engine for NetLogo models that runs in JavaScript 🐢
- Host: GitHub
- URL: https://github.com/netlogo/tortoise
- Owner: NetLogo
- License: other
- Created: 2013-10-01T22:59:33.000Z (almost 13 years ago)
- Default Branch: main
- Last Pushed: 2025-11-17T16:50:05.000Z (8 months ago)
- Last Synced: 2025-11-17T17:16:36.306Z (8 months ago)
- Topics: netlogo, netlogo-web
- Language: Scala
- Homepage: https://netlogoweb.org
- Size: 24.1 MB
- Stars: 55
- Watchers: 19
- Forks: 26
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Tortoise
info: https://github.com/NetLogo/NetLogo/wiki/NetLogo-Web
engine/compiler issues: https://github.com/NetLogo/Tortoise/issues
web server and client code and issues: https://github.com/NetLogo/Galapagos
## Libraries
The following lists the libraries used by Tortoise and the licenses that they are released under:
* **Mori** [[source](https://github.com/swannodette/mori)] [[info](http://swannodette.github.io/mori/)] [[license](http://www.eclipse.org/legal/epl-v10.html)]
## Compiling
There are several sbt builds within the Tortoise project.
* `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](https://github.com/NetLogo/Tortoise/wiki/Architecture)
[](https://cloudsmith.com)
Package repository hosting is graciously provided by [Cloudsmith](https://cloudsmith.com).