Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problem with programs containing discontiguous predicates #1014

Open
gabouelseoud opened this issue Aug 4, 2021 · 21 comments
Open

Problem with programs containing discontiguous predicates #1014

gabouelseoud opened this issue Aug 4, 2021 · 21 comments

Comments

@gabouelseoud
Copy link

Whenever I try running any program containing discontiguous predicate definition: I get the error:
error(syntax_error(inconsistent_entry),use_module/1)

I was trying to run https://github.com/triska/simsttab
when I got this error, I tried simpler codes containing discontiguous predicate definitions and got the same error.

@flexoron
Copy link

flexoron commented Aug 4, 2021

I get this:
$ git clone ... simsttab
$ cd simsttab
$ ../scryer-prolog/target/release/scryer-prolog simsttab.pl reqs.pl
?- requirements_variables(Rs, Vs),labeling([ff], Vs),print_classes(Rs).
false.
?-

@gabouelseoud
Copy link
Author

gabouelseoud commented Aug 4, 2021 via email

@flexoron
Copy link

flexoron commented Aug 4, 2021

I don't get the error. You mean these two?
simsttab.pl:
/*
:- discontiguous(class_subject_teacher_times/4).
:- discontiguous(class_freeslot/2).
*/
$ ../scryer-prolog/target/release/scryer-prolog simsttab.pl reqs.pl
?- requirements_variables(Rs, Vs),labeling([ff], Vs),print_classes(Rs).
false.
?-

@gabouelseoud
Copy link
Author

gabouelseoud commented Aug 4, 2021 via email

@flexoron
Copy link

flexoron commented Aug 4, 2021

sorry, i don't get the error:
$ cat d.pl
:- discontiguous(p/0).
p :- q.
q.
p.
$ scryer-prolog/target/release/scryer-prolog d.pl
?- p.
true
; true.
?- q.
true.
?-

@gabouelseoud
Copy link
Author

gabouelseoud commented Aug 4, 2021 via email

@flexoron
Copy link

flexoron commented Aug 4, 2021

check your .scryerrc:
$ cat $HOME/.scryerrc
:- use_module(library(debug)).
:- use_module(library(format)).
:- use_module(library(si)).
:- use_module(library(lists)).
:- use_module(library(arithmetic)).
:- use_module(library(clpz)).
:- use_module(library(dcgs)).
:- use_module(library(tabling)).
:- use_module(library(iso_ext)).
:- use_module(library(pairs)).

or re-install(update) everything:
$ rustup update
$ git clone ... scryer-prolog && cd scryer-prolog
$ cargo update
$ cargo build; cargo build --release
$ cargo run [--release]

@gabouelseoud
Copy link
Author

yasmeen@yasmeen-G41MT-S2PT:~/Documents/ramadan_isA/AI_isA/barq_isA$ scryer-prolog test.pl
test.pl:2: incomplete_reduction
caught: error(syntax_error(incomplete_reduction),use_module/1:2)

test.pl is:
cat $HOME/.scryerrc
:- use_module(library(debug)).
:- use_module(library(format)).
:- use_module(library(si)).
:- use_module(library(lists)).
:- use_module(library(arithmetic)).
:- use_module(library(clpz)).
:- use_module(library(dcgs)).
:- use_module(library(tabling)).
:- use_module(library(iso_ext)).
:- use_module(library(pairs)).

just copying and pasting the lines without inserting them into a file gives:
caught: error(syntax_error(incomplete_reduction),read_term/3:2)

@flexoron
Copy link

flexoron commented Aug 4, 2021

ok, the cat command at the shell-prompt is not part of the content
$ cat $HOME/.scryerrc
:
$ cat test.pl
:- use_module(library(debug)).
:
:- use_module(library(pairs)).
$

and I can't help with docker because I'm not into dockerism.

@flexoron
Copy link

flexoron commented Aug 4, 2021

do you have a $HOME/.scryerrc ? check it!
.. list the content at the shell prompt..you said you've a unix installation.
What unix you using?
$ cat $HOME/.scryerrc

@gabouelseoud
Copy link
Author

gabouelseoud commented Aug 4, 2021 via email

@flexoron
Copy link

flexoron commented Aug 4, 2021

ok
well, I don't know how you installed Rust and Scryer.
I've a Rust development environment(rustup, cargo, rustc, ...)
and compile Scryer as documented:
$> git clone https://github.com/mthom/scryer-prolog
$> cd scryer-prolog
$> cargo run

@gabouelseoud
Copy link
Author

Here is what I get when I updated rust, cargo and reinstalled scryer prolog.. I only got an error at last line:
caught: error(existence_error(source_sink,'[--release].pl'),open/4)

Here are the detailed update and reinstallation screen output details:

yasmeen@yasmeen-G41MT-S2PT:~/Documents/ramadan_isA/AI_isA/barq_isA$ rustup update
info: syncing channel updates for 'stable-x86_64-unknown-linux-gnu'
info: checking for self-updates

stable-x86_64-unknown-linux-gnu unchanged - rustc 1.54.0 (a178d0322 2021-07-26)

info: cleaning up downloads & tmp directories

yasmeen@yasmeen-G41MT-S2PT:~/Documents/ramadan_isA/AI_isA/barq_isA$ git clone https://github.com/mthom/scryer-prolog.git
Cloning into 'scryer-prolog'...
remote: Enumerating objects: 14635, done.
remote: Counting objects: 100% (947/947), done.
remote: Compressing objects: 100% (357/357), done.
remote: Total 14635 (delta 640), reused 767 (delta 562), pack-reused 13688
Receiving objects: 100% (14635/14635), 5.48 MiB | 826.00 KiB/s, done.
Resolving deltas: 100% (11235/11235), done.
Checking connectivity... done.

yasmeen@yasmeen-G41MT-S2PT:~/Documents/ramadan_isA/AI_isA/barq_isA$ cd scryer-prolog

yasmeen@yasmeen-G41MT-S2PT:/Documents/ramadan_isA/AI_isA/barq_isA/scryer-prolog$ cargo update
Updating crates.io index
Updating assert_cmd v1.0.3 -> v1.0.8
Updating az v1.1.0 -> v1.1.1
Updating bstr v0.2.15 -> v0.2.16
Updating bumpalo v3.6.0 -> v3.7.0
Updating byteorder v1.4.2 -> v1.4.3
Updating cc v1.0.66 -> v1.0.69
Removing difference v2.0.0
Adding difflib v0.4.0
Adding ed25519 v1.2.0
Adding either v1.6.1
Updating generic-array v0.12.3 -> v0.12.4
Updating getrandom v0.2.2 -> v0.2.3
Updating git-version v0.3.4 -> v0.3.5
Updating git-version-macro v0.3.4 -> v0.3.5
Updating gmp-mpfr-sys v1.4.2 -> v1.4.6
Updating hashbrown v0.9.1 -> v0.11.2
Updating indexmap v1.6.1 -> v1.7.0
Adding itertools v0.10.1
Updating js-sys v0.3.47 -> v0.3.52
Updating libc v0.2.85 -> v0.2.98
Updating libsodium-sys v0.2.6 -> v0.2.7
Updating memchr v2.3.4 -> v2.4.0
Updating once_cell v1.5.2 -> v1.8.0
Updating openssl v0.10.32 -> v0.10.35
Updating openssl-probe v0.1.2 -> v0.1.4
Updating openssl-src v111.13.0+1.1.1i -> v111.15.0+1.1.1k
Updating openssl-sys v0.9.60 -> v0.9.65
Updating predicates v1.0.7 -> v2.0.1
Updating proc-macro2 v1.0.24 -> v1.0.28
Updating quote v1.0.8 -> v1.0.9
Updating rand v0.8.3 -> v0.8.4
Updating rand_chacha v0.3.0 -> v0.3.1
Updating rand_core v0.6.1 -> v0.6.3
Updating rand_hc v0.3.0 -> v0.3.1
Updating redox_syscall v0.2.4 -> v0.2.9
Updating regex-automata v0.1.9 -> v0.1.10
Updating rug v1.11.0 -> v1.13.0
Adding same-file v1.0.6
Updating security-framework v2.0.0 -> v2.3.1
Updating security-framework-sys v2.0.0 -> v2.3.0
Updating serde v1.0.123 -> v1.0.127
Updating serde_derive v1.0.123 -> v1.0.127
Updating serde_json v1.0.61 -> v1.0.66
Updating signal-hook-registry v1.3.0 -> v1.4.0
Adding signature v1.3.1
Updating slab v0.4.2 -> v0.4.3
Updating sodiumoxide v0.2.6 -> v0.2.7
Updating syn v1.0.60 -> v1.0.74
Updating typenum v1.12.0 -> v1.13.0
Updating unicode-segmentation v1.7.1 -> v1.8.0
Updating unicode-xid v0.2.1 -> v0.2.2
Updating utf-8 v0.7.5 -> v0.7.6
Updating vcpkg v0.2.11 -> v0.2.15
Adding walkdir v2.3.2
Updating wasm-bindgen v0.2.70 -> v0.2.75
Updating wasm-bindgen-backend v0.2.70 -> v0.2.75
Updating wasm-bindgen-macro v0.2.70 -> v0.2.75
Updating wasm-bindgen-macro-support v0.2.70 -> v0.2.75
Updating wasm-bindgen-shared v0.2.70 -> v0.2.75
Updating web-sys v0.3.47 -> v0.3.52
Adding winapi-util v0.1.5
yasmeen@yasmeen-G41MT-S2PT:
/Documents/ramadan_isA/AI_isA/barq_isA/scryer-prolog$ cargo build; cargo build --release
Downloaded static_assertions v1.1.0
Downloaded dirs-next v2.0.0
Downloaded rustyline v7.1.0
Downloaded lexical v5.2.2
Downloaded nix v0.19.1
Downloaded lexical-core v0.7.6
Downloaded slice-deque v0.3.0
Downloaded fs2 v0.4.3
Downloaded arrayvec v0.5.2
Downloaded 9 crates (1026.4 KB) in 3.65s
Compiling libc v0.2.98
Compiling autocfg v1.0.1
Compiling rand_core v0.4.2
Compiling autocfg v0.1.7
Compiling proc-macro2 v1.0.28
Compiling cc v1.0.69
Compiling cfg-if v1.0.0
Compiling unicode-xid v0.2.2
Compiling siphasher v0.2.3
Compiling ryu v1.0.5
Compiling bitflags v1.2.1
Compiling pkg-config v0.3.19
Compiling log v0.4.14
Compiling syn v1.0.74
Compiling serde v1.0.127
Compiling typenum v1.13.0
Compiling string_cache_shared v0.3.0
Compiling proc-macro2 v0.4.30
Compiling serde_derive v1.0.127
Compiling serde_json v1.0.66
Compiling cfg-if v0.1.10
Compiling unicode-xid v0.1.0
Compiling new_debug_unreachable v1.0.4
Compiling syn v0.15.44
Compiling itoa v0.4.7
Compiling mac v0.1.1
Compiling smallvec v1.6.1
Compiling byte-tools v0.3.1
Compiling lazy_static v1.4.0
Compiling gmp-mpfr-sys v1.4.6
Compiling same-file v1.0.6
Compiling proc-macro-hack v0.5.19
Compiling utf-8 v0.7.6
Compiling lexical-core v0.7.6
Compiling void v1.0.2
Compiling hashbrown v0.11.2
Compiling precomputed-hash v0.1.1
Compiling az v1.1.1
Compiling unicode-segmentation v1.8.0
Compiling byteorder v1.4.3
Compiling openssl v0.10.35
Compiling scopeguard v1.1.0
Compiling memchr v2.4.0
Compiling slab v0.4.3
Compiling opaque-debug v0.2.3
Compiling arrayvec v0.5.2
Compiling once_cell v1.8.0
Compiling rug v1.13.0
Compiling foreign-types-shared v0.1.1
Compiling static_assertions v1.1.0
Compiling subtle v1.0.0
Compiling native-tls v0.2.7
Compiling signature v1.3.1
Compiling nix v0.15.0
Compiling bit-vec v0.6.3
Compiling openssl-probe v0.1.4
Compiling untrusted v0.7.1
Compiling keccak v0.1.0
Compiling utf8parse v0.2.0
Compiling match_cfg v0.1.0
Compiling unicode-width v0.1.8
Compiling spin v0.5.2
Compiling xmlparser v0.13.3
Compiling base64 v0.12.3
Compiling downcast v0.10.0
Compiling divrem v0.1.0
Compiling ref_thread_local v0.0.0
Compiling num-traits v0.2.14
Compiling indexmap v1.7.0
Compiling num-integer v0.1.44
Compiling rand_core v0.3.1
Compiling rand_jitter v0.1.4
Compiling rand_pcg v0.1.2
Compiling rand_chacha v0.1.1
Compiling rand v0.6.5
Compiling openssl-src v111.15.0+1.1.1k
Compiling phf_shared v0.7.24
Compiling ring v0.16.20
Compiling futf v0.1.4
Compiling block-padding v0.1.5
Compiling walkdir v2.3.2
Compiling unreachable v1.0.0
Compiling unicode_reader v1.0.1
Compiling lock_api v0.3.4
Compiling foreign-types v0.3.2
Compiling ed25519 v1.2.0
Compiling bit-set v0.5.2
Compiling roxmltree v0.11.0
Compiling rand_hc v0.1.0
Compiling rand_xorshift v0.1.1
Compiling rand_isaac v0.1.1
Compiling openssl-sys v0.9.65
Compiling phf v0.7.24
Compiling tendril v0.4.2
Compiling libsodium-sys v0.2.7
Compiling quote v1.0.9
Compiling rand_os v0.1.3
Compiling net2 v0.2.37
Compiling iovec v0.1.4
Compiling signal-hook-registry v1.4.0
Compiling dirs-sys-next v0.1.2
Compiling parking_lot_core v0.7.2
Compiling time v0.1.43
Compiling fs2 v0.4.3
Compiling slice-deque v0.3.0
Compiling cpu-time v1.0.0
Compiling hostname v0.3.1
Compiling nix v0.19.1
Compiling quote v0.6.13
Compiling generic-array v0.12.4
Compiling num-traits v0.1.43
Compiling scryer-prolog v0.8.128 (/home/yasmeen/Documents/ramadan_isA/AI_isA/barq_isA/scryer-prolog)
Compiling mio v0.6.23
Compiling dirs-next v2.0.0
Compiling parking_lot v0.10.2
Compiling lexical v5.2.2
Compiling digest v0.8.1
Compiling block-buffer v0.7.3
Compiling crypto-mac v0.7.0
Compiling ordered-float v0.5.2
Compiling chrono v0.4.19
Compiling git-version-macro v0.3.5
Compiling signal-hook v0.1.17
Compiling rustyline v7.1.0
Compiling phf_generator v0.7.24
Compiling sha3 v0.8.2
Compiling ripemd160 v0.8.0
Compiling blake2 v0.8.1
Compiling sodiumoxide v0.2.7
Compiling prolog_parser v0.8.68 (/home/yasmeen/Documents/ramadan_isA/AI_isA/barq_isA/scryer-prolog/crates/prolog_parser)
Compiling html5ever v0.23.0
Compiling git-version v0.3.5
Compiling crossterm v0.16.0
Compiling string_cache_codegen v0.4.4
Compiling phf_codegen v0.7.24
Compiling string_cache v0.7.5
Compiling markup5ever v0.8.1
Compiling select v0.4.3
Finished dev [unoptimized + debuginfo] target(s) in 18m 43s
Compiling libc v0.2.98
Compiling autocfg v1.0.1
Compiling autocfg v0.1.7
Compiling rand_core v0.4.2
Compiling proc-macro2 v1.0.28
Compiling cc v1.0.69
Compiling unicode-xid v0.2.2
Compiling cfg-if v1.0.0
Compiling ryu v1.0.5
Compiling siphasher v0.2.3
Compiling serde v1.0.127
Compiling pkg-config v0.3.19
Compiling bitflags v1.2.1
Compiling syn v1.0.74
Compiling log v0.4.14
Compiling string_cache_shared v0.3.0
Compiling typenum v1.13.0
Compiling proc-macro2 v0.4.30
Compiling serde_json v1.0.66
Compiling serde_derive v1.0.127
Compiling unicode-xid v0.1.0
Compiling cfg-if v0.1.10
Compiling itoa v0.4.7
Compiling new_debug_unreachable v1.0.4
Compiling syn v0.15.44
Compiling mac v0.1.1
Compiling same-file v1.0.6
Compiling lazy_static v1.4.0
Compiling gmp-mpfr-sys v1.4.6
Compiling smallvec v1.6.1
Compiling byte-tools v0.3.1
Compiling az v1.1.1
Compiling utf-8 v0.7.6
Compiling void v1.0.2
Compiling lexical-core v0.7.6
Compiling precomputed-hash v0.1.1
Compiling proc-macro-hack v0.5.19
Compiling scopeguard v1.1.0
Compiling arrayvec v0.5.2
Compiling slab v0.4.3
Compiling hashbrown v0.11.2
Compiling memchr v2.4.0
Compiling foreign-types-shared v0.1.1
Compiling rug v1.13.0
Compiling opaque-debug v0.2.3
Compiling unicode-segmentation v1.8.0
Compiling once_cell v1.8.0
Compiling openssl v0.10.35
Compiling byteorder v1.4.3
Compiling static_assertions v1.1.0
Compiling signature v1.3.1
Compiling native-tls v0.2.7
Compiling subtle v1.0.0
Compiling nix v0.15.0
Compiling bit-vec v0.6.3
Compiling openssl-probe v0.1.4
Compiling xmlparser v0.13.3
Compiling utf8parse v0.2.0
Compiling match_cfg v0.1.0
Compiling keccak v0.1.0
Compiling unicode-width v0.1.8
Compiling spin v0.5.2
Compiling untrusted v0.7.1
Compiling base64 v0.12.3
Compiling divrem v0.1.0
Compiling downcast v0.10.0
Compiling ref_thread_local v0.0.0
Compiling indexmap v1.7.0
Compiling num-traits v0.2.14
Compiling num-integer v0.1.44
Compiling rand_core v0.3.1
Compiling rand_jitter v0.1.4
Compiling rand_pcg v0.1.2
Compiling rand_chacha v0.1.1
Compiling rand v0.6.5
Compiling openssl-src v111.15.0+1.1.1k
Compiling phf_shared v0.7.24
Compiling ring v0.16.20
Compiling futf v0.1.4
Compiling walkdir v2.3.2
Compiling block-padding v0.1.5
Compiling unreachable v1.0.0
Compiling lock_api v0.3.4
Compiling foreign-types v0.3.2
Compiling unicode_reader v1.0.1
Compiling ed25519 v1.2.0
Compiling bit-set v0.5.2
Compiling roxmltree v0.11.0
Compiling rand_xorshift v0.1.1
Compiling rand_isaac v0.1.1
Compiling rand_hc v0.1.0
Compiling openssl-sys v0.9.65
Compiling phf v0.7.24
Compiling tendril v0.4.2
Compiling libsodium-sys v0.2.7
Compiling iovec v0.1.4
Compiling net2 v0.2.37
Compiling parking_lot_core v0.7.2
Compiling dirs-sys-next v0.1.2
Compiling signal-hook-registry v1.4.0
Compiling fs2 v0.4.3
Compiling time v0.1.43
Compiling slice-deque v0.3.0
Compiling hostname v0.3.1
Compiling cpu-time v1.0.0
Compiling rand_os v0.1.3
Compiling quote v1.0.9
Compiling nix v0.19.1
Compiling quote v0.6.13
Compiling generic-array v0.12.4
Compiling mio v0.6.23
Compiling parking_lot v0.10.2
Compiling dirs-next v2.0.0
Compiling scryer-prolog v0.8.128 (/home/yasmeen/Documents/ramadan_isA/AI_isA/barq_isA/scryer-prolog)
Compiling num-traits v0.1.43
Compiling lexical v5.2.2
Compiling digest v0.8.1
Compiling block-buffer v0.7.3
Compiling crypto-mac v0.7.0
Compiling signal-hook v0.1.17
Compiling rustyline v7.1.0
Compiling phf_generator v0.7.24
Compiling ordered-float v0.5.2
Compiling chrono v0.4.19
Compiling git-version-macro v0.3.5
Compiling sha3 v0.8.2
Compiling ripemd160 v0.8.0
Compiling blake2 v0.8.1
Compiling sodiumoxide v0.2.7
Compiling crossterm v0.16.0
Compiling html5ever v0.23.0
Compiling string_cache_codegen v0.4.4
Compiling phf_codegen v0.7.24
Compiling prolog_parser v0.8.68 (/home/yasmeen/Documents/ramadan_isA/AI_isA/barq_isA/scryer-prolog/crates/prolog_parser)
Compiling git-version v0.3.5
Compiling string_cache v0.7.5
Compiling markup5ever v0.8.1
Compiling select v0.4.3
Finished release [optimized] target(s) in 24m 30s
yasmeen@yasmeen-G41MT-S2PT:~/Documents/ramadan_isA/AI_isA/barq_isA/scryer-prolog$ cargo run [--release]
Compiling scryer-prolog v0.8.128 (/home/yasmeen/Documents/ramadan_isA/AI_isA/barq_isA/scryer-prolog)
Finished dev [unoptimized + debuginfo] target(s) in 1m 03s
Running target/debug/scryer-prolog '[--release]'
caught: error(existence_error(source_sink,'[--release].pl'),open/4)

@flexoron
Copy link

flexoron commented Aug 4, 2021

cargo run [--release] means, cargo run == debug version or cargo run --release == without debug info
$ cargo run
or
$ cargo run --release

so this is wrong invocation: cargo run [--release]

@gabouelseoud
Copy link
Author

gabouelseoud commented Aug 4, 2021 via email

@flexoron
Copy link

flexoron commented Aug 4, 2021

sorry I'm afraid I can't help. try this again and make sure you using your new scryer program which you've just build.
$ git clone https://github.com/triska/simsttab.git && cd simsttab
$ ../scryer-prolog/target/release/scryer-prolog simsttab.pl reqs.pl
?- requirements_variables(Rs, Vs),labeling([ff], Vs),print_classes(Rs).
false.
?-

@gabouelseoud
Copy link
Author

gabouelseoud commented Aug 4, 2021 via email

@flexoron
Copy link

flexoron commented Aug 4, 2021

I've no idea.
You opened an issue already there(simsttab).
I guess it is not a scryer issue
but I'm sure triska(the author) will look into it.

@gabouelseoud
Copy link
Author

I'll mark here as closed and keep monitoring the issue I opened at (simsttab), hoping the author will help us. Thank you very much. I really appreciate your support. My best wishes to you.

@gabouelseoud
Copy link
Author

I'll mark here as closed and keep monitoring the issue I opened at (simsttab), hoping the author will help us. Thank you very much. I really appreciate your support. My best wishes to you.

@triska
Copy link
Contributor

triska commented Aug 4, 2021

Yes, please let's continue the discussion in triska/simsttab#3. Thank you a lot!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants