]>
Repositorios git - scryer-prolog.git/log
Markus Triska [Sat, 20 Nov 2021 21:37:31 +0000 (22:37 +0100)]
FIXED: meta_predicate/1 declaration for tpartition/4.
This addresses #1101.
Mark Thom [Sat, 13 Nov 2021 05:05:26 +0000 (00:05 -0500)]
Merge pull request #1082 from pmoura/fix_format_predicates_missing_numbervars_option_on_w_and_q_formats
Fix the format/2-3 predicates missing the numbervars(true) option in the ~w and ~q formats
Mark Thom [Sat, 13 Nov 2021 05:04:51 +0000 (00:04 -0500)]
Merge pull request #1087 from Skgland/fix_beta_check
fix failing lint warnings in beta build
Mark Thom [Sat, 13 Nov 2021 05:03:57 +0000 (00:03 -0500)]
Merge pull request #1078 from triska/pio_improvements
Various improvements for pure output
Mark Thom [Sat, 13 Nov 2021 05:03:38 +0000 (00:03 -0500)]
Merge pull request #1086 from Skgland/pass_-f_flag_in_cargo_test
pass -f to scryer-prolog in cargo test so that we ignore .scryerrc
Mark Thom [Sat, 13 Nov 2021 05:03:26 +0000 (00:03 -0500)]
Merge pull request #1088 from triska/call_nth_metapredicate
FIXED: meta_predicate/1 directive for call_nth/2.
Skgland [Thu, 11 Nov 2021 18:32:35 +0000 (19:32 +0100)]
remove unused fields instead, prompting more dead_code removal
Markus Triska [Thu, 11 Nov 2021 18:29:32 +0000 (19:29 +0100)]
use functional notation for all meta_predicate/1 directives
Markus Triska [Thu, 11 Nov 2021 18:26:27 +0000 (19:26 +0100)]
FIXED: meta_predicate/1 directive for call_nth/2.
This addresses #1021.
Skgland [Thu, 11 Nov 2021 17:53:08 +0000 (18:53 +0100)]
fix failing lint warnings in beta build
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
Paulo Moura [Mon, 8 Nov 2021 22:00:02 +0000 (22:00 +0000)]
Fix the format/2-3 predicates missing the numbervars(true) option in the ~w and ~q formats
Markus Triska [Mon, 8 Nov 2021 21:41:04 +0000 (22:41 +0100)]
FIXED: instantiation errors for alias(Var) in open/4 options
This addresses #1030.
Markus Triska [Mon, 8 Nov 2021 21:10:14 +0000 (22:10 +0100)]
FIXED: instantiation errors for type(Var) in open/4 options
This addresses #1030.
Markus Triska [Mon, 8 Nov 2021 20:48:50 +0000 (21:48 +0100)]
add motivation and comments about library(pio) predicates
Markus Triska [Mon, 8 Nov 2021 20:43:45 +0000 (21:43 +0100)]
use newly available library predicate read_n_chars/3
Markus Triska [Mon, 8 Nov 2021 19:29:39 +0000 (20:29 +0100)]
mention pure output predicates in the README
Markus Triska [Sun, 7 Nov 2021 16:11:00 +0000 (17:11 +0100)]
ADDED: library(format): DCG nonterminal portray_clause_//1, in analogy to format_//2.
Markus Triska [Sun, 7 Nov 2021 16:06:56 +0000 (17:06 +0100)]
express format/3 and portray_clause/2 in terms of phrase_to_stream/2
Markus Triska [Sun, 7 Nov 2021 16:02:41 +0000 (17:02 +0100)]
ADDED: phrase_to_stream/2, writing a list of characters to a stream.
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