A few technical details…
ABS is extremely different from Monkey, the “fictional” language the reader builds throughout the book, but the base structure (lexer, parser, evaluator) are still very much based on Thorsten’s work.
There are multiple rasons Go’s the ideal choice for ABS, in no particular order:
- portability, as our goal is to be able to deliver ABS to multiple platforms without any hassle
- performance, as ABS’ itself is not big on performance: having the interpreter based on a fast platform allows us to recover something back
- “strict” language, suitable for the purpose of making sure syntax / parser errors are easily caught
- rich standard library, which allows to ship most of the ABS’ interpreter without relying on many external dependencies
Development & contributing
The best way to start developing for ABS is to clone the repository
and run a
make build: this will build a docker container with all
the necessary dependencies for developing locally (for experienced
Gophers: you might want to skip this altogether as your environment
will probably work perfectly).
make run you can get inside a container built for ABS’
make test will run all tests.
We’re currently working on the 1.0 version.
That’s about it for this section!
You can now head over to read ABS’ credits.