From: Mark Thom Date: Sat, 3 Mar 2018 23:48:00 +0000 (-0700) Subject: update README with build instructions X-Git-Tag: v0.8.110~543 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=7edf924c05560f45571bab0e4158d48dd6eda40c;p=scryer-prolog.git update README with build instructions --- diff --git a/README.md b/README.md index 3b256fb5..31444ff2 100644 --- a/README.md +++ b/README.md @@ -75,6 +75,30 @@ strings. 7. Add some form of JIT predicate indexing. +## Installing rusty-wam + +First, install the latest stable version of +[Rust](https://www.rust-lang.org/en-US/install.html) using your +preferred method. Then clone the rusty-wam repo and build it with +cargo, like so: + +``` +$> git clone https://github.com/mthom/rusty-wam --recursive +$> cd rusty-wam +$> cargo build +``` + +cargo will download and install the libraries rusty-wam uses automatically. +rusty-wam can be run with the command `cargo run`, and likewise tests can be +run with `cargo test`. + +Note on compatibility: rusty-wam should work on Linux, Mac OS X, and +FreeBSD. Windows support hinges on the Termion library working in +Windows terminals, which isn't yet the case, although work is +underway. See the relevant Termion +[issue](https://github.com/ticki/termion/issues/103) for more +information. + ## Built-in predicates The following predicates are built-in to rusty-wam. @@ -216,12 +240,12 @@ New operators can be defined using the `op` declaration. ### Modules rusty-wam has seemingly correct but presently untested support for a -basic predicate-based module system. It provides a way to separate +simple predicate-based module system. It provides a way to separate units of code into distinct namespaces, for both predicates and operators. See the files `src/prolog/lib/*.pl` for examples. At the time of this writing, several control and list processing -operators are hidden within their own modules that have not +operators and predicates are hidden in their own modules that have not been exported to the toplevel. To export them, write ```