Welcome to SWI-Prolog (threaded, 64 bits, version 8.3.21)
SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software.
Please run ?- license. for legal details.
For online help and background, visit https://www.swi-prolog.org
For built-in help, use ?- help(Topic). or ?- apropos(Word).
?- between(X), between(1, 3, X) => true.
ERROR: Unknown procedure: (=>)/2 (DWIM could not correct goal)
It doesn’t work like this I thought? Replace the => with :- and it should be still broken:
?- between(X), between(1, 3, X) :- true.
@jan as a matter of fact, the error message with :- is more useful. Here is the full output that I see:
Welcome to SWI-Prolog (threaded, 64 bits, version 8.3.21-18-g0ce6d17ea)
SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software.
Please run ?- license. for legal details.
For online help and background, visit https://www.swi-prolog.org
For built-in help, use ?- help(Topic). or ?- apropos(Word).
?- between(X), between(1, 3, X) :- true.
ERROR: Unknown procedure: (:-)/2
ERROR: Rules must be loaded from a file
ERROR: See FAQ at https://www.swi-prolog.org/FAQ/ToplevelMode.txt
ERROR: In:
ERROR: [9] throw(error(existence_error(procedure,...),_24762))
ERROR: [6] correct_goal((...,... :- true),user,['X'=_24822],_24798) at /Users/e911899/bin/swipl/lib/swipl/boot/dwim.pl:85
ERROR:
ERROR: Note: some frames are missing due to last-call optimization.
ERROR: Re-run your program in debug mode (:- debug.) to get more detail.
?- between(X), between(1, 3, X) => true.
ERROR: Unknown procedure: (=>)/2 (DWIM could not correct goal)
I guess ideally someone would take initiative and make a pull request to add =>/2 and =>/1 to unknown_proc_msg/1 in boot/messages.pl (around line 224) and update the linked FAQ entry at https://www.swi-prolog.org/FAQ/ToplevelMode.txt.