- [x] A simple sockets library representing TCP connections as streams.
- [x] Incremental compilation and loading process, newly written,
primarily in Prolog.
++- [ ] Improvements to the WAM compiler and heap representation:
++ - [ ] Replacing choice points pivoting on inlined semi-deterministic predicates
++ (`atom`, `var`, etc) with if/else ladders. (_in progress_)
++ - [ ] Inlining all built-ins and system call instructions.
++ - [ ] Greatly reducing the number of instructions used to compile disjunctives.
++ - [ ] Storing short atoms to heap cells without writing them to the atom table.
- [ ] A compacting garbage collector satisfying the five properties of
- "Precise Garbage Collection in Prolog." (_in progress_, see
- the [`rebis-dev` branch](https://github.com/mthom/scryer-prolog/tree/rebis-dev)
- and its [announcement](https://github.com/mthom/scryer-prolog/discussions/1167))
+ "Precise Garbage Collection in Prolog." (_in progress_)
- [ ] Mode declarations.
## Phase 3
The optional `--release` flag will perform various optimizations,
producing a faster executable.
++Scryer Prolog must be built with **Rust 1.57 and up**.
++
### Docker Install (All Platforms)
First, install [Docker](https://docs.docker.com/get-docker/) on Linux,