]> Repositorios git - scryer-prolog.git/log
scryer-prolog.git
4 years agoadd a CI job to verify msrv is still correct
Skgland [Sat, 12 Mar 2022 18:02:34 +0000 (19:02 +0100)]
add a CI job to verify msrv is still correct

4 years agoadd min rust version
Skgland [Sat, 12 Mar 2022 17:57:33 +0000 (18:57 +0100)]
add min rust version

was proposed in https://github.com/mthom/scryer-prolog/issues/1335#issuecomment-1062039516 and got positive feedback

4 years agoMerge pull request #1342 from wkral/no-add-history
Mark Thom [Sat, 12 Mar 2022 01:25:47 +0000 (18:25 -0700)]
Merge pull request #1342 from wkral/no-add-history

Add --no-add-history flag

4 years agoAdd --no-add-history flag
William Kral [Fri, 11 Mar 2022 05:48:41 +0000 (21:48 -0800)]
Add --no-add-history flag

Flag prevents the input stream from saving terms to ~/.scryer_history
when set. Use the flag when running tests to increase test isolation.

4 years agoprint rationals that are integers as integers (#663)
Mark Thom [Thu, 10 Mar 2022 04:24:16 +0000 (21:24 -0700)]
print rationals that are integers as integers (#663)

4 years agoprint variables instead of offsets in setup_call_cleanup tests
Mark Thom [Wed, 9 Mar 2022 05:05:54 +0000 (22:05 -0700)]
print variables instead of offsets in setup_call_cleanup tests

4 years agocorrect loading of variable name strings in write_term/3
Mark Thom [Wed, 9 Mar 2022 05:00:12 +0000 (22:00 -0700)]
correct loading of variable name strings in write_term/3

4 years agofix parser bounds check bug (#1333, #1301)
Mark Thom [Wed, 9 Mar 2022 04:25:19 +0000 (21:25 -0700)]
fix parser bounds check bug (#1333, #1301)

4 years agounify empty list to '' in atom_chars/2 (#1334, #1336)
Mark Thom [Wed, 9 Mar 2022 01:25:40 +0000 (18:25 -0700)]
unify empty list to '' in atom_chars/2 (#1334, #1336)

4 years agowrap meta-predicate specifications in functors (#1330)
Mark Thom [Tue, 8 Mar 2022 05:36:52 +0000 (22:36 -0700)]
wrap meta-predicate specifications in functors (#1330)

4 years agofix float formatting (#1331)
Mark Thom [Tue, 8 Mar 2022 02:44:31 +0000 (19:44 -0700)]
fix float formatting (#1331)

4 years agoMerge pull request #1332 from triska/call_nth_0
Mark Thom [Mon, 7 Mar 2022 22:16:47 +0000 (15:16 -0700)]
Merge pull request #1332 from triska/call_nth_0

ENHANCED: call_nth(Goal, 0) now fails, correct error for N < 0.

4 years agoENHANCED: call_nth(Goal, 0) now fails, correct error for N < 0.
Markus Triska [Mon, 7 Mar 2022 22:38:30 +0000 (23:38 +0100)]
ENHANCED: call_nth(Goal, 0) now fails, correct error for N < 0.

This addresses #1307.

4 years agofix number/1 (#1329)
Mark Thom [Mon, 7 Mar 2022 02:17:52 +0000 (19:17 -0700)]
fix number/1 (#1329)

4 years agoMerge pull request #1328 from pmoura/fix_bounded_and_max_arity_flags
Mark Thom [Mon, 7 Mar 2022 01:51:14 +0000 (18:51 -0700)]
Merge pull request #1328 from pmoura/fix_bounded_and_max_arity_flags

Fix querying the values of the bounded and max_arity flags

4 years agoFix querying the values of the bounded and max_arity flags
Paulo Moura [Mon, 7 Mar 2022 00:30:35 +0000 (00:30 +0000)]
Fix querying the values of the bounded and max_arity flags

4 years agocompare functor arity first (#1327)
Mark Thom [Sun, 6 Mar 2022 23:37:21 +0000 (16:37 -0700)]
compare functor arity first (#1327)

4 years agofix compare/3 (#1327)
Mark Thom [Sun, 6 Mar 2022 22:48:54 +0000 (15:48 -0700)]
fix compare/3 (#1327)

4 years agoMerge pull request #1326 from pmoura/fix_halt_1_predicate_compliance
Mark Thom [Sun, 6 Mar 2022 21:46:46 +0000 (14:46 -0700)]
Merge pull request #1326 from pmoura/fix_halt_1_predicate_compliance

Fix halt/1 built-in predicate for ISO Prolog Core standard compliance

4 years agoFix halt/1 built-in predicate for ISO Prolog Core standard compliance
Paulo Moura [Sun, 6 Mar 2022 21:33:49 +0000 (21:33 +0000)]
Fix halt/1 built-in predicate for ISO Prolog Core standard compliance

4 years agoMerge pull request #1323 from triska/simplex
Mark Thom [Sun, 6 Mar 2022 20:46:32 +0000 (13:46 -0700)]
Merge pull request #1323 from triska/simplex

ADDED: library(simplex), for solving linear programming problems.

4 years agoADDED: library(simplex), for solving linear programming problems.
Markus Triska [Sun, 6 Mar 2022 20:36:55 +0000 (21:36 +0100)]
ADDED: library(simplex), for solving linear programming problems.

4 years agoonly recommend git cloning to get the latest scryer version in README.md
Mark Thom [Sun, 6 Mar 2022 17:27:25 +0000 (10:27 -0700)]
only recommend git cloning to get the latest scryer version in README.md

4 years agoMerge pull request #1322 from triska/explain_strings_better
Mark Thom [Sun, 6 Mar 2022 17:07:37 +0000 (10:07 -0700)]
Merge pull request #1322 from triska/explain_strings_better

DOC: Better explanation of strings and partial strings.

4 years agoMerge branch 'rebis-dev' into 0.9.0 release v0.9.0
Mark Thom [Sun, 6 Mar 2022 16:39:28 +0000 (09:39 -0700)]
Merge branch 'rebis-dev' into 0.9.0 release

4 years agoDOC: Better explanation of strings and partial strings.
Markus Triska [Sun, 6 Mar 2022 10:05:15 +0000 (11:05 +0100)]
DOC: Better explanation of strings and partial strings.

4 years agomark variables in ArithmeticEvaluator (#690)
Mark Thom [Sat, 5 Mar 2022 22:27:36 +0000 (15:27 -0700)]
mark variables in ArithmeticEvaluator (#690)

4 years agouse must_be(chars) in read_from_chars/2 (#1305)
Mark Thom [Sat, 5 Mar 2022 18:14:24 +0000 (11:14 -0700)]
use must_be(chars) in read_from_chars/2 (#1305)

4 years agoreset ReadlineStream from read_query_line (#1317, #1285)
Mark Thom [Sat, 5 Mar 2022 17:38:16 +0000 (10:38 -0700)]
reset ReadlineStream from read_query_line (#1317, #1285)

4 years agochange domain_error(integer, ..) to type_error(integer, ..) in random.pl (#1310)
Mark Thom [Fri, 4 Mar 2022 06:24:26 +0000 (23:24 -0700)]
change domain_error(integer, ..) to type_error(integer, ..) in random.pl (#1310)

4 years agodereference list link in delete_attribute (#1148)
Mark Thom [Fri, 4 Mar 2022 06:22:36 +0000 (23:22 -0700)]
dereference list link in delete_attribute (#1148)

4 years agoADDED: "f" to enumerate the next 5 solutions, similar to GUPU.
Markus Triska [Wed, 2 Mar 2022 20:02:19 +0000 (21:02 +0100)]
ADDED: "f" to enumerate the next 5 solutions, similar to GUPU.

4 years agosave arguments to delayed goal before calling verify_attrs (#1304)
Mark Thom [Wed, 2 Mar 2022 06:59:33 +0000 (23:59 -0700)]
save arguments to delayed goal before calling verify_attrs (#1304)

4 years agoMerge pull request #1313 from triska/all_solutions
Mark Thom [Tue, 1 Mar 2022 22:34:21 +0000 (15:34 -0700)]
Merge pull request #1313 from triska/all_solutions

ADDED: "a" to enumerate all solutions

4 years agoADDED: "a" to enumerate all solutions
Markus Triska [Tue, 1 Mar 2022 22:52:51 +0000 (23:52 +0100)]
ADDED: "a" to enumerate all solutions

Example:

    ?- member(X, "hello").
    %@    X = h   <-- press "a"
    %@ ;  X = e
    %@ ;  X = l
    %@ ;  X = l
    %@ ;  X = o
    %@ ;  false.

4 years agoMerge pull request #1312 from triska/str_loc_as_cell
Mark Thom [Tue, 1 Mar 2022 19:09:42 +0000 (12:09 -0700)]
Merge pull request #1312 from triska/str_loc_as_cell

FIXED: load_html/3: use str_loc_as_cell! to store attribute structures

4 years agoFIXED: load_html/3: use str_loc_as_cell! to store attribute structures
Markus Triska [Tue, 1 Mar 2022 19:20:51 +0000 (20:20 +0100)]
FIXED: load_html/3: use str_loc_as_cell! to store attribute structures

4 years agorefer to structures using str_loc_as_cell! (#1311)
Mark Thom [Tue, 1 Mar 2022 01:28:13 +0000 (18:28 -0700)]
refer to structures using str_loc_as_cell! (#1311)

4 years agofix unexpected error in length/2 (#1303)
Mark Thom [Sat, 26 Feb 2022 18:07:38 +0000 (11:07 -0700)]
fix unexpected error in length/2 (#1303)

4 years agoadd proper error throwing for call_with_inference_limit/3 (#1296)
Mark Thom [Sat, 26 Feb 2022 17:57:52 +0000 (10:57 -0700)]
add proper error throwing for call_with_inference_limit/3 (#1296)

4 years agocompare '[]' in pstr_comparator of compare_term_test (#1299)
Mark Thom [Sat, 26 Feb 2022 06:57:27 +0000 (23:57 -0700)]
compare '[]' in pstr_comparator of compare_term_test (#1299)

4 years agopop pstr offsets from iterator stack in printer (#1290)
Mark Thom [Sat, 26 Feb 2022 06:36:26 +0000 (23:36 -0700)]
pop pstr offsets from iterator stack in printer (#1290)

4 years agounify '' to [] in unify_complete_string (#1292, #1288)
Mark Thom [Sat, 26 Feb 2022 06:01:08 +0000 (23:01 -0700)]
unify '' to [] in unify_complete_string (#1292, #1288)

4 years agorecognize [] as equivalent to "" in unify_atom (#1288)
Mark Thom [Wed, 23 Feb 2022 06:45:04 +0000 (23:45 -0700)]
recognize [] as equivalent to "" in unify_atom (#1288)

4 years agoMerge pull request #1287 from triska/rebis-dev-sgml
Mark Thom [Tue, 22 Feb 2022 22:55:03 +0000 (15:55 -0700)]
Merge pull request #1287 from triska/rebis-dev-sgml

FIXED: library(sgml): load_html/3 and load_xml/3 now both work again.

4 years agouse newly available get_n_chars/3 from library(charsio)
Markus Triska [Tue, 22 Feb 2022 22:51:01 +0000 (23:51 +0100)]
use newly available get_n_chars/3 from library(charsio)

4 years agoFIXED: library(sgml): load_html/3 and load_xml/3 now both work again.
Markus Triska [Tue, 22 Feb 2022 22:49:01 +0000 (23:49 +0100)]
FIXED: library(sgml): load_html/3 and load_xml/3 now both work again.

This addresses #1249.

4 years agocorrect '$skip_max_list/4' for non-lists (#1276)
Mark Thom [Mon, 21 Feb 2022 06:44:18 +0000 (23:44 -0700)]
correct '$skip_max_list/4' for non-lists (#1276)

4 years agoupdate setup_call_cleanup tests
Mark Thom [Sat, 19 Feb 2022 05:17:15 +0000 (22:17 -0700)]
update setup_call_cleanup tests

4 years agoadjust dynamic external indices upon retraction, reset dynamic_mode to Next regardles...
Mark Thom [Sat, 19 Feb 2022 02:49:16 +0000 (19:49 -0700)]
adjust dynamic external indices upon retraction, reset dynamic_mode to Next regardless of success or failure

4 years agothrow instantiation_error on variables from (#1283)
Mark Thom [Sat, 19 Feb 2022 02:33:16 +0000 (19:33 -0700)]
throw instantiation_error on variables from  (#1283)

4 years agodelay callable errors in control predicates (#1282)
Mark Thom [Fri, 18 Feb 2022 03:26:30 +0000 (20:26 -0700)]
delay callable errors in control predicates (#1282)

4 years agobuild CStr's to vars in write_literal_to_var (#1284)
Mark Thom [Wed, 16 Feb 2022 05:22:36 +0000 (22:22 -0700)]
build CStr's to vars in write_literal_to_var (#1284)

4 years agodon't unify module-qualified variables to ! (#1281)
Mark Thom [Tue, 15 Feb 2022 01:46:15 +0000 (18:46 -0700)]
don't unify module-qualified variables to ! (#1281)

4 years agouse VecDeque for generating indices during code generation (#1053)
Mark Thom [Sat, 12 Feb 2022 02:23:43 +0000 (19:23 -0700)]
use VecDeque for generating indices during code generation (#1053)

4 years agoadd missing fact to beginning of tmember_t/3 (#1275)
Mark Thom [Sat, 12 Feb 2022 00:25:01 +0000 (17:25 -0700)]
add missing fact to beginning of tmember_t/3 (#1275)

4 years agogroup predicate subsequences by first instantiated arg (#1053)
Mark Thom [Wed, 9 Feb 2022 06:34:42 +0000 (23:34 -0700)]
group predicate subsequences by first instantiated arg (#1053)

4 years agoprint bounded depth partial strings correctly
Mark Thom [Mon, 7 Feb 2022 21:09:22 +0000 (14:09 -0700)]
print bounded depth partial strings correctly

4 years agoupdate setup_call_cleanup tests
Mark Thom [Mon, 7 Feb 2022 04:46:06 +0000 (21:46 -0700)]
update setup_call_cleanup tests

4 years agouse printer cycle detection when printing partial strings (#1263), refactor skip_max_...
Mark Thom [Mon, 7 Feb 2022 04:12:54 +0000 (21:12 -0700)]
use printer cycle detection when printing partial strings (#1263), refactor skip_max_list functions

4 years agoreference partial strings properly in read_term (#1271)
Mark Thom [Sun, 6 Feb 2022 22:14:18 +0000 (15:14 -0700)]
reference partial strings properly in read_term (#1271)

4 years agofix write_canonical on strings (#1233)
Mark Thom [Sun, 6 Feb 2022 03:40:28 +0000 (20:40 -0700)]
fix write_canonical on strings (#1233)

4 years agofix '$skip_max_list'/4 (#1260)
Mark Thom [Sat, 5 Feb 2022 04:51:22 +0000 (21:51 -0700)]
fix '$skip_max_list'/4 (#1260)

4 years agofix float formatting (#1233, #1258)
Mark Thom [Fri, 4 Feb 2022 02:57:41 +0000 (19:57 -0700)]
fix float formatting (#1233, #1258)

4 years agoreset instruction pointers with calls, make HCPrinter::range_from safe (#1233)
Mark Thom [Tue, 1 Feb 2022 04:24:19 +0000 (21:24 -0700)]
reset instruction pointers with calls, make HCPrinter::range_from safe (#1233)

4 years agocount cycle lengths in skip_max_list_cycle (#1260)
Mark Thom [Tue, 1 Feb 2022 01:23:16 +0000 (18:23 -0700)]
count cycle lengths in skip_max_list_cycle (#1260)

4 years agotag length/2 as the source of finite_memory errors in list.pl (#1259)
Mark Thom [Tue, 1 Feb 2022 01:08:00 +0000 (18:08 -0700)]
tag length/2 as the source of finite_memory errors in list.pl (#1259)

4 years agoMerge pull request #1257 from mthom/rebis-dev_improved-length
Mark Thom [Sun, 30 Jan 2022 18:30:16 +0000 (11:30 -0700)]
Merge pull request #1257 from mthom/rebis-dev_improved-length

Improved length/2 and arg/3 range checking

4 years agoadd range check to arg/3 (#1250) rebis-dev_improved-length origin/rebis-dev_improved-length
Mark Thom [Sat, 29 Jan 2022 19:50:09 +0000 (12:50 -0700)]
add range check to arg/3 (#1250)

4 years agoimprove '$skip_max_list'/4 and length/2 (#1023, #110)
Mark Thom [Sat, 29 Jan 2022 07:57:39 +0000 (00:57 -0700)]
improve '$skip_max_list'/4 and length/2 (#1023, #110)

4 years agoMerge pull request #1254 from triska/valid_dotdotdot
Mark Thom [Fri, 28 Jan 2022 18:55:52 +0000 (11:55 -0700)]
Merge pull request #1254 from triska/valid_dotdotdot

ENHANCED: Make toplevel output a Prolog term that can be read back also for "...".

4 years agoENHANCED: Make toplevel output a Prolog term that can be read back also for "...".
Markus Triska [Fri, 28 Jan 2022 17:47:55 +0000 (18:47 +0100)]
ENHANCED: Make toplevel output a Prolog term that can be read back also for "...".

This addresses #1240.

4 years agoinline store & deref calls in '' (#1176)
Mark Thom [Thu, 27 Jan 2022 06:03:19 +0000 (23:03 -0700)]
inline store & deref calls in '' (#1176)

4 years agouse expand_goal directly for existential-qualified goals in all-solutions predicates...
Mark Thom [Thu, 27 Jan 2022 00:34:36 +0000 (17:34 -0700)]
use expand_goal directly for existential-qualified goals in all-solutions predicates (#1246)

4 years agodon't read into the heap while incrementing self.s (#1233, #1245)
Mark Thom [Tue, 25 Jan 2022 01:47:53 +0000 (18:47 -0700)]
don't read into the heap while incrementing self.s (#1233, #1245)

4 years agolazily throw exceptions of dcg_body from goal-expanded phrase/{2,3} (#1244)
Mark Thom [Sat, 22 Jan 2022 19:22:50 +0000 (12:22 -0700)]
lazily throw exceptions of dcg_body from goal-expanded phrase/{2,3} (#1244)

4 years agorecognize []/N as callable (#1241, #989)
Mark Thom [Fri, 21 Jan 2022 06:46:03 +0000 (23:46 -0700)]
recognize []/N as callable (#1241, #989)

4 years agoexpand phrase/{2,3} using dcg_body whenever possible
Mark Thom [Fri, 21 Jan 2022 06:32:08 +0000 (23:32 -0700)]
expand phrase/{2,3} using dcg_body whenever possible

4 years agomodule-qualify callables more liberally but not for built-ins (#1243)
Mark Thom [Fri, 21 Jan 2022 00:40:45 +0000 (17:40 -0700)]
module-qualify callables more liberally but not for built-ins (#1243)

4 years agodereference car of Lis in HeapPStRIter::step (#1238)
Mark Thom [Thu, 20 Jan 2022 03:51:23 +0000 (20:51 -0700)]
dereference car of Lis in HeapPStRIter::step (#1238)

4 years agothrow errors from phrase/{2,3} where expected (#1220)
Mark Thom [Thu, 20 Jan 2022 03:19:47 +0000 (20:19 -0700)]
throw errors from phrase/{2,3} where expected (#1220)

4 years agostreamline and fix phrase/{2,3} (#1237)
Mark Thom [Thu, 20 Jan 2022 03:07:15 +0000 (20:07 -0700)]
streamline and fix phrase/{2,3} (#1237)

4 years agoMerge pull request #1236 from triska/omit-module-prefix
Mark Thom [Thu, 20 Jan 2022 00:22:44 +0000 (17:22 -0700)]
Merge pull request #1236 from triska/omit-module-prefix

omit module prefix, because the goals are already module-qualified

4 years agoomit module prefix, because the goals are already module-qualified
Markus Triska [Wed, 19 Jan 2022 23:48:30 +0000 (00:48 +0100)]
omit module prefix, because the goals are already module-qualified

4 years agoMerge pull request #1235 from triska/better-initialization-warning
Mark Thom [Wed, 19 Jan 2022 23:41:43 +0000 (16:41 -0700)]
Merge pull request #1235 from triska/better-initialization-warning

ENHANCED: more specific warning when initialization/1 fails (#1149)

4 years agoENHANCED: more specific warning when initialization/1 fails (#1149)
Markus Triska [Wed, 19 Jan 2022 22:31:55 +0000 (23:31 +0100)]
ENHANCED: more specific warning when initialization/1 fails (#1149)

4 years agoMerge pull request #1234 from aarroyoc/ctrld
Mark Thom [Wed, 19 Jan 2022 04:34:30 +0000 (21:34 -0700)]
Merge pull request #1234 from aarroyoc/ctrld

Fix Ctrl-D in toplevel

4 years agoprint -0.0 as 0.0 (#1164)
Mark Thom [Wed, 19 Jan 2022 04:31:14 +0000 (21:31 -0700)]
print -0.0 as 0.0 (#1164)

4 years agothrow error instead of overwriting builtin export (#1225)
Mark Thom [Wed, 19 Jan 2022 02:16:14 +0000 (19:16 -0700)]
throw error instead of overwriting builtin export (#1225)

4 years agoremove number/3 from arithmetic.pl (#1170)
Mark Thom [Wed, 19 Jan 2022 00:38:45 +0000 (17:38 -0700)]
remove number/3 from arithmetic.pl (#1170)

4 years agoFix Ctrl-D (#1168)
Adrián Arroyo Calle [Tue, 18 Jan 2022 18:27:27 +0000 (19:27 +0100)]
Fix Ctrl-D (#1168)

4 years agofix floor for f64 (#1223)
Mark Thom [Tue, 18 Jan 2022 05:04:10 +0000 (22:04 -0700)]
fix floor for f64 (#1223)

4 years agoinclude library(error) in toplevel.pl (#1226)
Mark Thom [Tue, 18 Jan 2022 04:53:52 +0000 (21:53 -0700)]
include library(error) in toplevel.pl (#1226)

4 years agoclear alias in close before resetting the stream to null (#1231)
Mark Thom [Tue, 18 Jan 2022 00:58:09 +0000 (17:58 -0700)]
clear alias in close before resetting the stream to null (#1231)

4 years agoMerge pull request #1232 from triska/toplevel_read_from_chars
Mark Thom [Tue, 18 Jan 2022 00:44:58 +0000 (17:44 -0700)]
Merge pull request #1232 from triska/toplevel_read_from_chars

FIXED: toplevel to use (newly renamed) read_from_chars/2

4 years agoFIXED: toplevel to use (newly renamed) read_from_chars/2
Markus Triska [Tue, 18 Jan 2022 00:12:47 +0000 (01:12 +0100)]
FIXED: toplevel to use (newly renamed) read_from_chars/2

4 years agoMerge pull request #1228 from triska/charsio-read-renames
Mark Thom [Tue, 18 Jan 2022 00:03:46 +0000 (17:03 -0700)]
Merge pull request #1228 from triska/charsio-read-renames

MODIFIED: Rename two predicates in library(charsio)

4 years agoMerge pull request #1229 from triska/faster_decryption
Mark Thom [Tue, 18 Jan 2022 00:03:29 +0000 (17:03 -0700)]
Merge pull request #1229 from triska/faster_decryption

ENHANCED: library(crypto): Retain a compact internal representation of the ciphertext throughout decryption.

4 years agoMerge pull request #1230 from josd/patch-1
Mark Thom [Tue, 18 Jan 2022 00:03:03 +0000 (17:03 -0700)]
Merge pull request #1230 from josd/patch-1

Update clpz.pl

4 years agoENHANCED: library(crypto): Retain a compact internal representation of the ciphertext...
Markus Triska [Mon, 17 Jan 2022 21:00:50 +0000 (22:00 +0100)]
ENHANCED: library(crypto): Retain a compact internal representation of the ciphertext throughout decryption.

This allows efficient decryption also of very large files and long
strings.

It is usually highly advisable to stick to common and portable library
predicates such as append/3. However, since append/3 does not yet
recognize this opportunity for improvement, I apply it manually in
this case, so that also very large files can be efficiently decrypted
using the compact internal string representation.

Without this change, decrypting a 1 GB file takes 48 GB of RAM,
whereas with this change, it only takes 2 GB (one for the string, one
for its copy with the appended tag).