scryer-prolog
scryer-prolog copied to clipboard
A modern Prolog implementation written mostly in Rust.
Just when calling Scryer with `-f` I get so many unrelated system calls that suggest Scryer still looks up some modules. What is happening here? (To reduce the size of...
``` $ cat t.pl :- module(t,[t/0]). t. $ /opt/gupu/scryer-prolog/target/release/scryer-prolog -f ?- use_module(t,[]). true. ?- t:t. error(existence_error(procedure,t:t/0),t/0), unexpected. true. % expected, but not found ``` This happens when one wants to...
I am filing the short example from https://github.com/mthom/scryer-prolog/issues/2624#issuecomment-2421575373 here as a simpler issue. With: :- meta_predicate(p(0)). p(t). We get: ?- p(X). X = t, unexpected. false. % expected Reason: The call...
An issue noted by @Jean-Luc-Picard-2021: **https://github.com/aarroyoc/scryer-playground/issues/37** :- use_module(library(tabling)). :- table q/3. q(A, _, A). q(_, A, A). q(A, _, A). yielding: ?- q(X, Y, Z). X = Z ; Y...
This completely reworks the library interface, moving in the direction of #2490. This already has `#![deny(missing_docs)]`, but I just did very basic documentation. This isn't intended to be a final...
**Goal expansion** would really benefit from thinking more about it, and maybe changing the overall approach. See also https://github.com/mthom/scryer-prolog/pull/2433#issuecomment-2198036909. At least the following concerns come to mind: 1. There are...
I've coded all arithmetic functions explicitly in [#2602](https://github.com/mthom/scryer-prolog/pull/2602/files#diff-b76322ab415e4e2a42c62e5069777cae1ae713b913d615796611242a1c3e7120R63-R66) ```prolog arithmetic_term(func, 0, [e,pi,epsilon]). arithmetic_term(func, 1, [+,-,\,sqrt,exp,log,sin,cos,tan,asin,acos,atan,sign,abs,round,ceiling,floor,truncate,float,float_integer_part,float_fractional_part]). arithmetic_term(func, 2, [+,-,/,*,**,^,/\,\/,xor,div,//,rdiv,,mod,rem,max,min,gcd,atan2]). arithmetic_term(rela, 2, [is,>,=,=`, `
After recent discussion #2599, I've decided to start collecting useful warnings that can be applied during compilation. If you have good ideas for warnings, please post them here. Relevant issues:...
# Description Currently, when following https://www.metalevel.at/prolog/dcg and especially this section https://youtu.be/CvLsVfq6cks?t=1453 of the accompanying video, I ran across what I think is a bug in the sgml library (or something...
use_module/1 doesn't respect changes in current working directory if executed as initialization goal
As in title. I found it when I tried to use modules from a different folder for #2435. Contents of `~/.scryerrc`: ```prolog :- use_module(library(iso_ext)). :- use_module(library(files)). :- use_module(library(lists)). :- use_module(library(os))....