prolog
prolog copied to clipboard
phrase/2 incorrect
?- phrase(({!,fail};[wrong]),L).
L = [wrong];
Expected false.
Thank you for reporting this. I'll fix it later.
There is more, (also a bit in Scryer), will tell you when Scryer is ready.
Here are all tests. Consider to include phrase//2
and phrase//3
as higher-order extensions.