]>
Repositorios git - scryer-prolog.git/log
Skgland [Thu, 11 Nov 2021 10:36:54 +0000 (11:36 +0100)]
pass -f to scryer-prolog in cargo test so that we ignore .scryerrc
fixes issue #1085
Mark Thom [Sun, 7 Nov 2021 14:40:29 +0000 (09:40 -0500)]
Merge pull request #1077 from pmoura/fix_get_code_predicates_at_end_of_file
Fix the get_code/1-2 predicates to return -1 at the end of stream as per standard
Mark Thom [Sun, 7 Nov 2021 14:40:03 +0000 (09:40 -0500)]
Merge pull request #1071 from triska/read_n_chars
ADDED: read_n_chars/3, reading N characters from a stream.
Mark Thom [Sun, 7 Nov 2021 14:39:41 +0000 (09:39 -0500)]
Merge pull request #1070 from triska/open_stream
ENHANCED: open/4 to allow opening a stream by specifying stream(S).
Mark Thom [Sun, 7 Nov 2021 14:39:13 +0000 (09:39 -0500)]
Merge pull request #1069 from triska/crypto_improvements
Performance improvements for library(crypto)
Paulo Moura [Sat, 6 Nov 2021 19:41:25 +0000 (19:41 +0000)]
Fix the get_code/1-2 predicates to return -1 at the end of stream
Markus Triska [Thu, 4 Nov 2021 17:50:40 +0000 (18:50 +0100)]
import also partial_string/3 (used in #1071)
Markus Triska [Thu, 4 Nov 2021 17:36:27 +0000 (18:36 +0100)]
ADDED: read_n_chars/3, reading N characters from a stream.
Markus Triska [Thu, 4 Nov 2021 17:30:39 +0000 (18:30 +0100)]
move error handling to Prolog by using the new '$first_non_octet'/2
Markus Triska [Thu, 4 Nov 2021 17:28:05 +0000 (18:28 +0100)]
ENHANCED: open/4 to allow opening a stream by specifying stream(S).
This allows switching standard output to binary, using for example:
?- current_output(S0), open(stream(S0), write, S, [type(binary)]).
format/3 can then be used to write binary data to S. This is needed
for example when piping binary data to other programs.
This addresses #614, please read the discussion for more information.
The current implementation is very preliminary: Specifically, it works
by destructively modifiying the parameters of the underlying stream,
making it no longer usable in its original mode. Currently, if the
type of standard output is set to binary, then the toplevel no longer
works. Therefore, after writing binary output to standard output,
the program should either halt, or set the stream type back to text.
Markus Triska [Wed, 3 Nov 2021 21:35:47 +0000 (22:35 +0100)]
use partial_string/1 for much quicker test
Markus Triska [Wed, 3 Nov 2021 21:27:41 +0000 (22:27 +0100)]
use '$first_non_octet'/2 for much faster domain check
Markus Triska [Wed, 3 Nov 2021 21:11:45 +0000 (22:11 +0100)]
ADDED: '$first_non_octet'/2, for much more efficient domain checks in library(crypto).
'$first_non_octet'(Cs, C) <=> C is the leftmost character in the
string Cs whose character code is not in 0..255.
Markus Triska [Wed, 3 Nov 2021 20:45:07 +0000 (21:45 +0100)]
ENHANCED: Much faster Base64 encoding/decoding, using partial_string/1 for a quick check.
Mark Thom [Wed, 3 Nov 2021 15:57:45 +0000 (13:27 -0230)]
Merge pull request #1065 from aarroyoc/pio-string
Disable check of atom and leverage to open/4 the domain_error
Mark Thom [Wed, 3 Nov 2021 15:57:18 +0000 (13:27 -0230)]
Merge pull request #1066 from aarroyoc/rust-2021
Rust 2021
Adrián Arroyo Calle [Mon, 1 Nov 2021 22:03:51 +0000 (23:03 +0100)]
Rust 2021
Adrián Arroyo Calle [Fri, 29 Oct 2021 21:52:08 +0000 (23:52 +0200)]
Disable check of atom and leverage to open/4 the domain_error
Adrián Arroyo Calle [Fri, 29 Oct 2021 21:51:30 +0000 (23:51 +0200)]
Disable check of atom and leverage to open/4 the domain_error
Mark Thom [Sun, 17 Oct 2021 17:58:28 +0000 (11:58 -0600)]
Merge pull request #1052 from aarroyoc/shell-predicate
Implement shell/1 and shell/2
Adrián Arroyo Calle [Fri, 15 Oct 2021 15:22:15 +0000 (17:22 +0200)]
Go back and accept only list of chars
Adrián Arroyo Calle [Thu, 14 Oct 2021 20:52:29 +0000 (22:52 +0200)]
Accept atom or shell
Adrián Arroyo Calle [Mon, 11 Oct 2021 20:35:05 +0000 (22:35 +0200)]
Implement shell/1 and shell/2
Mark Thom [Thu, 7 Oct 2021 23:09:16 +0000 (17:09 -0600)]
Merge pull request #1051 from aarroyoc/close-stream
Throw exception if closing a closed TCP stream #1046
Adrián Arroyo Calle [Thu, 30 Sep 2021 21:46:52 +0000 (23:46 +0200)]
Close Stream test feedback
Adrián Arroyo Calle [Thu, 30 Sep 2021 21:01:25 +0000 (23:01 +0200)]
Close Stream bug files
Adrián Arroyo Calle [Thu, 30 Sep 2021 20:59:15 +0000 (22:59 +0200)]
Close Stream bug files
Mark Thom [Thu, 30 Sep 2021 15:19:09 +0000 (09:19 -0600)]
Merge pull request #1049 from pmoura/add_preliminary_current_module_predicate_definition
Add preliminary current_module/1 predicate definition requiring a bound argument
Adrián Arroyo Calle [Wed, 29 Sep 2021 22:10:03 +0000 (00:10 +0200)]
use shutdown error values to throw exceptions in close stream
Adrián Arroyo Calle [Tue, 28 Sep 2021 20:48:51 +0000 (22:48 +0200)]
launch exception if closing a closed TCP stream #1046
Mark Thom [Tue, 28 Sep 2021 01:12:24 +0000 (19:12 -0600)]
reset attributed variables queue when backtracking (#678, etc.)
Mark Thom [Mon, 27 Sep 2021 00:57:45 +0000 (18:57 -0600)]
reset attributed variables queue after successful verify_attributes interrupt (#669, etc)
Paulo Moura [Fri, 24 Sep 2021 09:13:00 +0000 (10:13 +0100)]
Add preliminary current_module/1 predicate definition requiring a bound argument
Mark Thom [Mon, 6 Sep 2021 05:31:57 +0000 (23:31 -0600)]
Merge pull request #1045 from triska/phrase_to_file
ADDED: Rudimentary version of phrase_to_file/2 in library(pio)
Markus Triska [Sat, 4 Sep 2021 20:02:17 +0000 (22:02 +0200)]
use round brackets for meta_predicate declarations
This is because meta_predicate is not a standard operator.
Markus Triska [Sat, 4 Sep 2021 19:13:51 +0000 (21:13 +0200)]
ADDED: Rudimentary version of phrase_to_file/2 in library(pio)
See #691 for more information.
Mark Thom [Tue, 24 Aug 2021 04:26:15 +0000 (22:26 -0600)]
Merge pull request #1033 from aarroyoc/fix-1022
Add a -f switch to load alternative initialization files
Mark Thom [Tue, 24 Aug 2021 04:25:44 +0000 (22:25 -0600)]
Merge pull request #1032 from aarroyoc/fix-1009
Fix #1009 by providing a naive num-bigint implementation of count_ones
Adrián Arroyo Calle [Mon, 23 Aug 2021 07:53:15 +0000 (09:53 +0200)]
Rename init_file to disable_init_file
Adrián Arroyo Calle [Sun, 22 Aug 2021 09:44:17 +0000 (11:44 +0200)]
use consult instead of use_module
Adrián Arroyo Calle [Sun, 22 Aug 2021 09:36:27 +0000 (11:36 +0200)]
Rename to disable_init_file and change description
Adrián Arroyo Calle [Sat, 21 Aug 2021 15:53:20 +0000 (17:53 +0200)]
PR feedback
Adrián Arroyo Calle [Fri, 20 Aug 2021 12:15:16 +0000 (14:15 +0200)]
Read scryerrc if goals specified but not -f specified
Adrián Arroyo Calle [Fri, 20 Aug 2021 12:06:57 +0000 (14:06 +0200)]
Clean the code
Adrián Arroyo Calle [Fri, 20 Aug 2021 12:00:32 +0000 (14:00 +0200)]
Add a -f switch to load alternative initialization files
Adrián Arroyo Calle [Fri, 20 Aug 2021 10:40:27 +0000 (12:40 +0200)]
Make it line
Adrián Arroyo Calle [Fri, 20 Aug 2021 10:38:15 +0000 (12:38 +0200)]
Fix #1009 by providing a naive num-bigint implementation of count_ones
Mark Thom [Sun, 15 Aug 2021 14:59:06 +0000 (08:59 -0600)]
Merge pull request #1029 from triska/format
ENHANCED: Domain error non_empty_list for empty arguments, addressing #1024
Markus Triska [Sun, 15 Aug 2021 10:28:02 +0000 (12:28 +0200)]
ENHANCED: Domain error non_empty_list for empty arguments, addressing #1024.
Example:
?- format("~d", []).
%@ caught: error(domain_error(non_empty_list,[]),format_//2)
Mark Thom [Sun, 15 Aug 2021 05:06:28 +0000 (23:06 -0600)]
Merge pull request #1027 from triska/format
ENHANCED: format_string domain error for invalid radix in format string
Markus Triska [Sat, 14 Aug 2021 18:02:47 +0000 (20:02 +0200)]
ENHANCED: format_string domain error for invalid radix in format string
This addresses #1024.
Example:
?- format("hello ~0r!", [12]).
%@ caught: error(domain_error(format_string,"~0r"),format_//2)
Mark Thom [Sat, 14 Aug 2021 15:15:30 +0000 (09:15 -0600)]
Merge pull request #1026 from triska/format
ENHANCED: If N is omitted in ~Nr or ~NR, it defaults to 8.
Markus Triska [Sat, 14 Aug 2021 11:48:21 +0000 (13:48 +0200)]
ENHANCED: If N is omitted in ~Nr or ~NR, it defaults to 8.
This is for compatibility with Quintus, SICStus and GNU Prolog,
addressing #1024.
Example:
?- format("~r", [10]).
%@ 12 true.
Mark Thom [Sun, 1 Aug 2021 15:25:55 +0000 (09:25 -0600)]
run user-level and module-level initialization goals from loader.pl (#1012)
Mark Thom [Thu, 8 Jul 2021 20:44:29 +0000 (14:44 -0600)]
Merge pull request #1001 from triska/master
ADDED: ... //0, describing an arbitrary number of elements
Markus Triska [Sat, 3 Jul 2021 07:54:01 +0000 (09:54 +0200)]
ADDED: ... //0, describing an arbitrary number of elements
This is a very versatile nonterminal. For instance, repeated elements:
?- phrase((...,[E],...,[E],...), "hello!!").
%@ E = l
%@ ; E = !
%@ ; false.
Mark Thom [Tue, 22 Jun 2021 17:56:56 +0000 (11:56 -0600)]
Merge pull request #996 from triska/master
address #995: wrong results for popcount/1
Markus Triska [Mon, 21 Jun 2021 19:19:37 +0000 (21:19 +0200)]
address #995: wrong results for popcount/1
Many thanks to @notoria and @flexoron for very useful test cases!
Mark Thom [Sat, 19 Jun 2021 00:13:30 +0000 (18:13 -0600)]
Merge pull request #993 from triska/master
ADDED: popcount(+Integer)
Mark Thom [Sat, 19 Jun 2021 00:13:18 +0000 (18:13 -0600)]
Merge pull request #986 from Regan-Koopmans/981
Add popcount/2
Regan-Koopmans [Fri, 18 Jun 2021 06:22:43 +0000 (08:22 +0200)]
981 Prefer must_be/2
Markus Triska [Thu, 17 Jun 2021 18:18:01 +0000 (20:18 +0200)]
ADDED: popcount(+Integer)
Example:
?- X #= popcount(3+5).
X = 1.
This builds on #986 provided by @Regan-Koopmans. Many thanks!
Regan-Koopmans [Thu, 17 Jun 2021 10:10:25 +0000 (12:10 +0200)]
981 Reimplement as library system call
Mark Thom [Fri, 4 Jun 2021 00:32:48 +0000 (18:32 -0600)]
Merge pull request #983 from triska/master
check for correct domain of integers in reifiable expressions also in the expanded code
Markus Triska [Thu, 3 Jun 2021 20:56:08 +0000 (22:56 +0200)]
check for correct domain of integers in reifiable expressions also in the expanded code
This is to preserve domain errors instead of failing silently. Example:
?- 5 #> 3 #<==> 2.
%@ caught: error(domain_error(clpz_reifiable_expression,2),unknown(2)-1)
Mark Thom [Thu, 3 Jun 2021 18:38:18 +0000 (12:38 -0600)]
Merge pull request #978 from Skgland/master
fix beta build and tests
Mark Thom [Thu, 3 Jun 2021 18:35:31 +0000 (12:35 -0600)]
Merge pull request #982 from triska/master
ENHANCED: Goal expansion for reified constraints.
Markus Triska [Thu, 3 Jun 2021 18:23:03 +0000 (20:23 +0200)]
ENHANCED: Goal expansion for reified constraints.
Used in package precautionary by @dcnorris.
Skgland [Wed, 2 Jun 2021 15:41:14 +0000 (17:41 +0200)]
ignore setup_call_cleanup tests as their output is apparently non-deterministic
Skgland [Wed, 2 Jun 2021 15:15:31 +0000 (17:15 +0200)]
fix tests
Skgland [Wed, 2 Jun 2021 14:43:10 +0000 (16:43 +0200)]
fix beta build
Mark Thom [Wed, 19 May 2021 20:09:21 +0000 (14:09 -0600)]
Merge pull request #972 from pmoura/add_pid_predicate
Add pid/1 predicate to the os library
Mark Thom [Wed, 19 May 2021 20:07:46 +0000 (14:07 -0600)]
leave the expansion of incomplete goals in meta-predicates to call/N (#967, #970)
Paulo Moura [Tue, 18 May 2021 18:35:35 +0000 (19:35 +0100)]
Add pid/1 predicate to the os library
Mark Thom [Tue, 18 May 2021 18:49:52 +0000 (12:49 -0600)]
Merge pull request #971 from pmoura/add_rename_file_predicate
Add rename_file/2 predicate to the files library
Paulo Moura [Tue, 18 May 2021 17:08:30 +0000 (18:08 +0100)]
Add rename_file/2 predicate to the files library
Mark Thom [Tue, 18 May 2021 16:26:06 +0000 (10:26 -0600)]
Merge pull request #968 from pmoura/add_make_directory_path_predicate
Add make_directory_path/1 predicate to the files library
Mark Thom [Tue, 18 May 2021 16:25:52 +0000 (10:25 -0600)]
Merge pull request #969 from pmoura/add_delete_directory_predicate
Add delete_directory/1 predicate to the files library
Paulo Moura [Tue, 18 May 2021 07:41:19 +0000 (08:41 +0100)]
Add delete_directory/1 predicate to the files library
Paulo Moura [Mon, 17 May 2021 23:21:11 +0000 (00:21 +0100)]
Add make_directory_path/1 predicate to the files library
Mark Thom [Mon, 17 May 2021 05:37:20 +0000 (23:37 -0600)]
Merge pull request #965 from pmoura/fix_current_predicate_error_checking
Fix current_predicate/1 predicate error checking
Paulo Moura [Sun, 16 May 2021 22:49:21 +0000 (23:49 +0100)]
Fix current_predicate/1 predicate error checking
Mark Thom [Fri, 14 May 2021 05:18:58 +0000 (23:18 -0600)]
Merge pull request #956 from pmoura/fix_subsumes_term_predicate
Fix subsumes_term/2 predicate to use unify_with_occurs_check/2 instead of (=)/2
Mark Thom [Fri, 14 May 2021 05:18:47 +0000 (23:18 -0600)]
Merge pull request #960 from triska/master
FIXED: correct propagation of tuples_in/2 (#929)
Mark Thom [Fri, 14 May 2021 05:18:36 +0000 (23:18 -0600)]
Merge pull request #958 from pmoura/fixes_for_retract_predicates
Fixes for retract predicates
Mark Thom [Fri, 14 May 2021 05:17:59 +0000 (23:17 -0600)]
Merge pull request #957 from pmoura/fix_at_end_of_stream_predicate_missing_check_for_instantiation_error
Fix at_end_of_stream/1 predicate missing check for instantiation error
Mark Thom [Fri, 14 May 2021 05:17:30 +0000 (23:17 -0600)]
Merge pull request #955 from pmoura/fix_abolish_predicate_throw_of_instantiation_error
Fix abolish/1 predicate throw of instantiation_error
Mark Thom [Fri, 14 May 2021 05:17:12 +0000 (23:17 -0600)]
Merge pull request #954 from pmoura/fix_set_stream_position_exception_term_missing_argument
Fix set_stream_position/2 predicate missing argument in exception term
Markus Triska [Thu, 13 May 2021 19:48:18 +0000 (21:48 +0200)]
FIXED: correct propagation of tuples_in/2 (#929)
Many thanks to @notoria for producing a very short test case.
Paulo Moura [Wed, 12 May 2021 22:48:12 +0000 (23:48 +0100)]
Fix retract_clause/2 internal predicate to correctly handle module qualification and no lose body bindings
Paulo Moura [Wed, 12 May 2021 22:46:05 +0000 (23:46 +0100)]
Fix retractall/1 predicate to retract both facts and rules
Paulo Moura [Wed, 12 May 2021 20:17:11 +0000 (21:17 +0100)]
Fix at_end_of_stream/1 predicate missing check for instantiation error
Paulo Moura [Wed, 12 May 2021 19:02:09 +0000 (20:02 +0100)]
Fix subsumes_term/2 predicate to use unify_with_occurs_check/2 instead of (=)/2
Paulo Moura [Wed, 12 May 2021 18:39:20 +0000 (19:39 +0100)]
Fix abolish/1 predicate throw of instantiation_error
Paulo Moura [Wed, 12 May 2021 18:32:24 +0000 (19:32 +0100)]
Fix set_stream_position/2 predicate missing argument in exception term
Mark Thom [Wed, 12 May 2021 17:02:38 +0000 (11:02 -0600)]
Merge pull request #952 from panasenco/dockerfile
Made rust version in Dockerfile static
panasenco [Wed, 12 May 2021 05:46:05 +0000 (22:46 -0700)]
Made rust version in Dockerfile static, this seems to have really fixed the cache issues
Mark Thom [Wed, 12 May 2021 01:22:38 +0000 (19:22 -0600)]
Merge pull request #951 from pmoura/add_max_arity_prolog_flag
Add max_arity Prolog flag
Paulo Moura [Tue, 11 May 2021 23:34:47 +0000 (00:34 +0100)]
Add max_arity Prolog flag
Mark Thom [Tue, 11 May 2021 22:55:36 +0000 (16:55 -0600)]
Merge pull request #948 from pmoura/fix_bounded_and_integer_rounding_function_flags_for_current_prolog_flag
Fix querying bounded and integer_rounding_function flag values