download gal
gal 3.3 is open source under the Apache-2.0 license. It lives in one repository:
git clone https://github.com/erixoltan/gal3.git
cd gal3
./bootstrap.sh
bootstrap.sh starts from the checked-in stage-0 compiler,
rebuilds the compiler with itself twice, and checks that the two rebuilds are
byte-identical. It ends with FIXPOINT OK. The only prerequisite is
uv, which fetches the right Python itself.
running the other targets
The compiler emits all six languages with nothing else installed. To run what it emits you need that language's own tools:
| target | compiler part | you need |
|---|---|---|
| Python | galpy | nothing more |
| JavaScript | galjs | node |
| Go | galgo | go |
| Java | galjava | a JDK |
| C++ | galcpp | g++ with C++17 |
| MUMPS | galmumps | YottaDB |
checking it yourself
gal3/bin/regress_oracle.sh # each case pins a fixed bug
GAL_ORACLE_LANGS=py,js gal3/bin/five_oracle.sh # same output from every target
Leave GAL_ORACLE_LANGS unset to run every target you have the
tools for.
or do not install anything
The browser IDE runs the compiler in the page. It compiles gal to Python or JavaScript and runs the program.