mare
Mare
Mare is a reimagining of the Pony language.
The goal is to create a language with all the desirable features of Pony, while simultaneously being more approachable to newcomers and more extensible for power users.
It's an early work in progress, but it can already compile and run basic programs.
Check out the feature roadmap and goals summary for more information on where this project is headed.
Try It!
There are a few ways you can try out Mare. All of them assume you have a working docker
installation, so take a moment to take care of that first.
First, just to prove the basics, you can use the eval
subcommand of the docker image to compile a program:
docker run --rm jemc/mare eval 'env.out.print("Hello, World!")'
# Prints "Hello, World!"
Beyond that, you can also use the docker image to compile a source code directory by mounting the directory into the container, like so:
# Compile the program.
docker run --rm -v ${PATH_TO_YOUR_CODE}:/opt/code jemc/mare
# Run the program.
${PATH_TO_YOUR_CODE}/main
If you're a VS Code user, you may be interested to install our language extension for that editor, which includes both syntax highlighting and some Intellisense features via using the docker image as an LSP server.
Finally, if you want to contribute to Mare, read on through the next section to learn about some of the basic development commands.
Developing
To work on this project, you'll need docker
and make
. You may also want to have lldb
for debugging.
To get started, clone the project to your development machine, then run one of the following commands within the project working directory:
-
Run
make ready
to prepare a docker container that has everything needed for development activities. Do this before running any of the other following commands: -
Run
make test
to run the test suite. -
Run
make example
to compile and run from the sources in./example
. -
Run
make example-lldb
to do the same as above, but run insidelldb
to allow you to breakpoint and step through code.
mare
- 0
- 0
- 0
- 0
- 2
- about 5 years ago
- October 8, 2019
Mozilla Public License 2.0
Sat, 16 Nov 2024 23:21:44 GMT