]> Repositorios git - scryer-prolog.git/commitdiff
add tests, add to README.
authorMark Thom <[email protected]>
Fri, 26 May 2017 18:27:41 +0000 (12:27 -0600)
committerMark Thom <[email protected]>
Fri, 26 May 2017 18:27:41 +0000 (12:27 -0600)
README.md
src/main.rs

index 7502880067c67ffb0a1234acf769bc563de94aaa..5ebf60f8d93c7d1f8b274a49432129ba37d06c46 100644 (file)
--- a/README.md
+++ b/README.md
@@ -31,7 +31,14 @@ Extend rusty-wam to include the following, among other features:
 * Mode declarations.
 * Extensions for clp(FD).
 * `if_` and related predicates, following the developments of the
-  paper "Indexing `dif/2`".
+  paper "Indexing `dif/2`".  
+* Strings, blobs, and other data types typical of Prolog that may not yet
+  know of or have left out.
+  
+## Phase 3
+
+Use the WAM code generated by the completed code generator to target LLVM
+IR to get JIT-compiled and -executed Prolog programs.
 
 ## Tutorial
 To enter a multi-clause predicate, the brackets ":{" and "}:" are used
index 70d9d605d96663a2855bc780e7c97d344cb342d2..962c35d096d74c34da5b0fa89c8780d2fb6132de 100644 (file)
@@ -615,7 +615,16 @@ mod tests {
 
         submit(&mut wam, "f(P, X) :- call(P, X).");
 
-        assert_eq!(submit(&mut wam, "?- f(p(one), one)."), true); 
+        assert_eq!(submit(&mut wam, "?- f(p(one), one)."), true);
+        assert_eq!(submit(&mut wam, "?- f(p(two), two)."), true);
+        assert_eq!(submit(&mut wam, "?- f(p(two), one)."), false);
+        assert_eq!(submit(&mut wam, "?- f(p(three), one)."), false);
+        assert_eq!(submit(&mut wam, "?- f(p(one), three)."), false);
+        assert_eq!(submit(&mut wam, "?- f(p(two), three)."), false);
+
+        submit(&mut wam, "p(f(g(X)), compound, [lists,are,good]).");
+
+        assert_eq!(submit(&mut wam, "?- call(p(f(g(X))), Y, Z)."), true);
     }
 }