3 [Little lambdas eat ivy.][etymology]
5 [etymology]: https://en.wikipedia.org/wiki/Mairzy_Doats
7 Ivy is an impure functional language that compiles to native code. It was
8 developed as an educational project to learn more about compiling functional
9 languages, and compiling without going through frameworks like LLVM that handle
10 the backend. It currently supports x64, and requires clang as an assembler.
14 Running the compiler requires the Ivy runtime be on the linker search path.
19 $ cargo build --release
22 And then you can either install `rt/target/release/libivy_rt.a` in your library
23 directory of choice, or run the compiler in the Ivy project root directory via:
26 $ env LIBRARY_PATH=rt/target/release cargo run --release
29 As a shortcut for running a program, you can use `tools/run.py` which will
30 compile and run a source file directly (handling the library path for you),
31 while simultaneously doing pretty-printing of debug output.
33 To get pretty-printed debug output on a compiled binary, use `tools/trace.py`
38 You can use `tools/test.py` to run all of the project tests. It will ensure
39 that the compiler and runtime are properly built before running any filetests.
41 Filetests are written to be run by `tools/lit.py`, and checked with
42 `filecheck`. See filetests in the `tests/` directory for examples.
44 Recommended `.git/hooks/pre-commit` script: