add tests, add to README.
This commit is contained in:
@@ -31,7 +31,14 @@ Extend rusty-wam to include the following, among other features:
|
|||||||
* Mode declarations.
|
* Mode declarations.
|
||||||
* Extensions for clp(FD).
|
* Extensions for clp(FD).
|
||||||
* `if_` and related predicates, following the developments of the
|
* `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
|
## Tutorial
|
||||||
To enter a multi-clause predicate, the brackets ":{" and "}:" are used
|
To enter a multi-clause predicate, the brackets ":{" and "}:" are used
|
||||||
|
|||||||
11
src/main.rs
11
src/main.rs
@@ -615,7 +615,16 @@ mod tests {
|
|||||||
|
|
||||||
submit(&mut wam, "f(P, X) :- call(P, X).");
|
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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user