]> Repositorios git - scryer-prolog.git/commitdiff
update README
authorMark Thom <[email protected]>
Fri, 22 Dec 2017 19:39:35 +0000 (12:39 -0700)
committerMark Thom <[email protected]>
Fri, 22 Dec 2017 19:39:35 +0000 (12:39 -0700)
README.md

index 483c87f1a4134c0e511de0a66aca4bbedeeaaca3..61f83da8403df5c13addfa93abf7fc6d15848e24 100644 (file)
--- a/README.md
+++ b/README.md
@@ -2,14 +2,14 @@
 
 ## Phase 1
 
-An implementation of the Warren Abstract Machine in Rust, done
+Produce an implementation of the Warren Abstract Machine in Rust, done
 according to the progression of languages in [Warren's Abstract
 Machine: A Tutorial
 Reconstruction](http://wambook.sourceforge.net/wambook.pdf).
 
-Phase 1 has been completed, in that rusty-wam implements in some form
+Phase 1 has been completed in that rusty-wam implements in some form
 all of the WAM book, including lists, cuts, Debray allocation, first
-argument indexing, and conjunctive queries.
+argument indexing, last call optimization and conjunctive queries.
 
 ## Phase 2
 
@@ -48,18 +48,25 @@ There are no current plans to implement any of these, but they might be
 nice to have in the future. They'd make a good project for anyone wanting
 to contribute code to rusty-wam.
 
-1. Add the global analysis techniques of Peter van Roy's thesis, "Can
-Logic Programming Execute as Fast as Imperative Programming?"
+1. Implement the global analysis techniques described in Peter van
+Roy's thesis, "Can Logic Programming Execute as Fast as Imperative
+Programming?"
 
-2. Add unum representation and arithmetic, as described in Gustafson's
-book "The End of Error."
+2. Add unum representation and arithmetic, using either an existing
+unum implementation or an ad hoc one. Unums are described in
+Gustafson's book "The End of Error."
 
-3. Add support for shift/reset delimited continuations, see "Delimited Continuations
-for Prolog."
+3. Add support for shift/reset delimited continuations, see "Delimited
+Continuations for Prolog."
 
-4. Add an incremental compacting garbage collector the heap.
+4. Add an incremental compacting garbage collector for the heap.
 
-5. Add a concurrent atom table.
+5. Add concurrent tables to manage shared references to atoms and
+strings.
+
+6. Add optional SLG resolution for fast memoization of predicates.
+
+7. Add some form of JIT predicate indexing.
 
 ## Built-in predicates