© 2023–2024 Reuben Thomas rrt@sc3d.org
https://ursalang.github.io
Ursa is intended to be a friendly, stable general-purpose programming language and runtime: the sort of language you can easily start writing code in, where the code and runtime will still work decades later. For more details, see the rationale.
Currently, Ursa is under development, as reflected in the version number. The intention is that once it reaches version 1, the language will not change or evolve further.
Ursa is free software. The Ohm grammar and the run-time (Ark, and the Ursa prelude) are licensed under the MIT license. All other files are licensed under the GNU GPL version 3 (or, at your option, any later version), unless explicitly mentioned otherwise.
Please ask questions, make comments; you can open bug reports on our GitHub issue tracker. If none of the other methods work for you, do email the author; see above for address.
Install Ursa with npm (part of Node):
npm install -g @ursalang/ursa
Install the Ursa fork of Topiary (code formatter, you will need a Rust toolchain):
TOPIARY_DIR=/path/to/topiary
git clone https://github.com/rrthomas/topiary "$TOPIARY_DIR" && cd "$TOPIARY_DIR" && cargo install --path topiary-cli
For the Ursa front-end:
ursa --help
For the language and editor support, see the Ursalang web site.
Code-counting support is available for cloc in the file ursa.def
. Use as follows:
cloc --read-lang-def=/path/to/ursa.def FILE-OR-DIRECTORY
Check out the git repository and download dependencies with:
git clone https://github.com/ursalang/ursa
npm install
To run the tests:
npm test