From: Mark Thom Date: Sun, 6 Mar 2022 16:39:28 +0000 (-0700) Subject: Merge branch 'rebis-dev' into 0.9.0 release X-Git-Tag: v0.9.0^0 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=2d19243b3bac3cbad6679d6254cd7b6a2e6d1d4e;p=scryer-prolog.git Merge branch 'rebis-dev' into 0.9.0 release --- 2d19243b3bac3cbad6679d6254cd7b6a2e6d1d4e diff --cc README.md index 7e008bf8,f2135168..154fc451 --- a/README.md +++ b/README.md @@@ -61,10 -82,8 +61,14 @@@ Extend Scryer Prolog to include the fol - [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 @@@ -132,6 -151,6 +136,8 @@@ $> cargo run [--release 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,