X-Git-Url: https://code.kerkeslager.com/?p=fur;a=blobdiff_plain;f=README.md;h=d00a607e12eb49cab49ffdb702e33ccd018ed2e9;hp=b70a0d4c2ff12f7d2b5a9badc03b369958e7535a;hb=edc05c8d2d465653c02c350592eff62c542a37ed;hpb=cd024965938ea2a7757eb886c496bf1bf2b3b709 diff --git a/README.md b/README.md index b70a0d4..d00a607 100644 --- a/README.md +++ b/README.md @@ -3,15 +3,30 @@ Fur is a programming language for the next millenium. In 1000 years, humans will likely still like furry animals, so Fur is named in their honor. +## Installation + +1. Create and activate a virtual environment with Python 3. On most systems, this will look something like `python3 -m venv .env/ && .env/bin/activate`. +2. Install dependencies from `requirements.txt` using `pip`: `pip install -r requirements.txt`. +3. That's all! + +## Integration tests + +To run the unit tests, run `python integration_tests.py`. You can test just the output of the examples or just the memory usage of the tests by running +`python integration_tests.py OutputTests` or `python integration_tests.py MemoryLeakTests` respectively. + +# Running + Example Fur programs are in the `examples/` folder. The main compiler (`main.py`) compiles Fur programs to C. An example of usage: - ~/fur$ python3 main.py examples/01_hello.fur + ~/fur$ python main.py examples/01_hello.fur ~/fur$ gcc examples/01_hello.fur.c ~/fur$ ./a.out Hello, world~/fur$ -Fur is GPL and will only ever target GPL compilers. Fur supports closures, integer math, boolean +## Disclaimers + +Fur is GPL 3 and will only ever target GPL compilers. Fur supports closures, integer math, boolean logic, lists, structures (similar to objects), and strings (implemented as [ropes](https://en.wikipedia.org/wiki/Rope_(data_structure))). It doesn't yet support exceptions, multithreading, modules, or anything resembling a standard library. If that sounds