Mark Thom
e62875ac90
tag length/2 as the source of finite_memory errors in list.pl ( #1259 )
2022-01-31 18:08:00 -07:00
Mark Thom
0d653a2ce6
improve '$skip_max_list'/4 and length/2 ( #1023 , #110 )
2022-01-29 12:47:26 -07:00
Mark Thom
142ddcd57a
use expand_goal directly for existential-qualified goals in all-solutions predicates ( #1246 )
2022-01-26 17:34:36 -07:00
Mark Thom
e6c4ecfc10
lazily throw exceptions of dcg_body from goal-expanded phrase/{2,3} ( #1244 )
2022-01-22 14:55:18 -07:00
Mark Thom
8df346f377
expand phrase/{2,3} using dcg_body whenever possible
2022-01-21 08:10:55 -07:00
Mark Thom
1854338ff4
throw errors from phrase/{2,3} where expected ( #1220 )
2022-01-19 20:19:47 -07:00
Mark Thom
11b96875e0
streamline and fix phrase/{2,3} ( #1237 )
2022-01-19 20:07:15 -07:00
Mark Thom
59992c8af2
remove number/3 from arithmetic.pl ( #1170 )
2022-01-18 17:38:45 -07:00
Mark Thom
3ebf8d5db9
clear alias in close before resetting the stream to null ( #1231 )
2022-01-17 17:58:14 -07:00
Mark Thom
413f797155
Merge pull request #1228 from triska/charsio-read-renames
...
MODIFIED: Rename two predicates in library(charsio)
2022-01-17 17:03:46 -07:00
Markus Triska
516ed1fd5b
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).
2022-01-17 23:02:56 +01:00
Markus Triska
23adfef281
MODIFIED: library(charsio): read_n_chars/3 is now called get_n_chars/3
...
This is because "read" is associated with general Prolog terms.
2022-01-17 20:37:55 +01:00
Markus Triska
20b6816562
MODIFIED: library(charsio): read_term_from_chars/2 is now called read_from_chars/2
...
This is for compatibility with SICStus Prolog and GNU Prolog.
2022-01-17 20:21:18 +01:00
Mark Thom
d22bbc54c7
Merge pull request #1195 from triska/rebis-dev-format-U
...
ADDED: format specifier ~NU, using underscores to separate groups of digits
2022-01-11 22:49:38 -07:00
Mark Thom
e3622e0860
improve between_/3 implementation ( #1186 , #1191 )
2022-01-10 18:34:25 -07:00
Markus Triska
2889a4438b
ADDED: format specifier ~NL to limit the number of digits per line
...
Example:
%?- format("~65L", [2^1000]).
%@ 10715086071862673209484250490600018105614048117055336074437503883_
%@ 70351051124936122493198378815695858127594672917553146825187145285_
%@ 69231404359845775746985748039345677748242309854210746050623711418_
%@ 77954182153046474983581941267398767559165543946077062914571196477_
%@ 686542167660429831652624386837205668069376 true.
2022-01-10 17:52:42 +01:00
Markus Triska
f5952088e3
ADDED: format specifier ~NU, using underscores to separate groups of digits
...
Example:
?- format("~2U", [10^12]).
%@ 10_000_000_000.00 true.
2022-01-10 16:07:05 +01:00
Mark Thom
976b8e426d
Merge pull request #1160 from aarroyoc/add-ugraphs-library
...
Add ugraphs library (ported from SWI)
2022-01-09 12:43:46 -07:00
Mark Thom
d90cf6384c
complete handling of control operators in interpreted (,)/2 ( #1172 )
2022-01-08 00:04:04 -07:00
Adrián Arroyo Calle
af3f676683
Minor fixes
2022-01-07 19:28:07 +01:00
Adrián Arroyo Calle
abf980d603
Merge remote-tracking branch 'upstream/rebis-dev' into add-ugraphs-library
2022-01-07 19:14:34 +01:00
Mark Thom
955e1799c8
flatten the instruction dispatch loop
2022-01-06 22:09:36 -07:00
Mark Thom
3db86f1e25
relocate most instruction routines from MachineState to Machine
2022-01-06 21:46:23 -07:00
Mark Thom
520121b2b2
remove skeletons from replaced modules
2022-01-06 21:44:41 -07:00
Mark Thom
48c1d05151
use heap_loc to refer to 0-arity atom instead of str_loc
2022-01-06 21:44:41 -07:00
Mark Thom
8ba61a1da1
defer installation of inference counter for call_with_inference_limit til after goals expanded
2022-01-06 21:44:41 -07:00
Mark Thom
fb4e627e62
fix various partial string bugs (copying using them in arg/3)
2022-01-06 21:44:41 -07:00
Mark Thom
f340f9ac94
break from loop in get_code upon successful character read
2022-01-06 21:44:41 -07:00
Mark Thom
1b3f290037
throw instantiation error if Arity is a variable in abolish/1
2022-01-06 21:44:41 -07:00
Mark Thom
b551ef315f
use strip module in retract/1, a meta-predicate
2022-01-06 21:44:41 -07:00
Mark Thom
7507e88406
detect module resolved cut in interpreted (,)
2022-01-06 21:44:41 -07:00
Mark Thom
073f281f1e
fix arg/3 bug
2022-01-06 21:44:41 -07:00
Mark Thom
0e2db4a23e
tag DCG constructs with module names for proper resolution
2022-01-06 21:44:41 -07:00
Mark Thom
ffd1b7069f
greatly reduce the number of goal expansions done in callable if/then/else
2022-01-06 21:44:41 -07:00
Mark Thom
0404c3bd94
use new heap term representation
2022-01-06 21:44:38 -07:00
Adrián Arroyo Calle
0288d5dc19
Add ugraphs library
2021-12-31 12:56:24 +01:00
Mark Thom
c60ada8421
Merge pull request #1132 from triska/tls_library
...
ADDED: library(tls) for negotiating TLS connections
2021-12-13 19:11:04 -07:00
Mark Thom
43532e5322
Merge pull request #1142 from triska/s
...
report time with "s" instead of "seconds", in analogy to time(1)
2021-12-13 19:09:20 -07:00
Mark Thom
68cd1d6631
Merge pull request #1143 from heydtn/patch-1
...
Fix typo in abnf_lwsp/2
2021-12-13 19:04:46 -07:00
Markus Triska
57d15936cb
ENHANCED: Use newly available fast chars test from library(error).
2021-12-12 17:43:17 +01:00
Nate Heydt
14406dbf76
Fix typo in abnf_lwsp/2
2021-12-09 07:42:48 -08:00
Markus Triska
12c561cee0
report time with "s" instead of "seconds", in analogy to time(1)
...
This addresses https://github.com/mthom/scryer-prolog/pull/1131#issuecomment-988670049 .
2021-12-08 16:13:54 +01:00
Markus Triska
dc5e935ecd
use newly available predicates from library(tls) for HTTPS
2021-12-05 18:16:47 +01:00
Markus Triska
538085169a
ADDED: library(tls), providing all predicates for TLS connections.
...
The currently available predicates for TLS-connections can be extended
with predicates to load and reason about certificates etc.
2021-12-05 18:16:47 +01:00
Markus Triska
74e76b6f97
MODIFIED: Remove TLS-related predicates from library(sockets).
...
They will become available in a new library, library(tls).
2021-12-05 17:39:22 +01:00
Markus Triska
cb6309d370
walltime --> CPU time
2021-12-05 00:56:16 +01:00
Mark Thom
8065889862
Merge pull request #1129 from triska/tls_servers
...
ADDED: Support for creating TLS servers.
2021-12-04 16:23:43 -07:00
Mark Thom
88e9dc2177
Merge pull request #1127 from triska/retract_correction
...
Correct retract/1 issues due to module qualification
2021-12-04 16:23:00 -07:00
Markus Triska
77c04c3a14
ADDED: Support for creating TLS servers.
...
The new predicates tls_server_context/2 and tls_server_negotiate/3 can
be used to negotiate TLS connections with clients for encrypted and
authenticated communication.
2021-12-03 16:45:27 +01:00
Markus Triska
48cea6efdf
FIXED: retract/1 issues due to module qualification
...
This addresses #1125 .
2021-12-01 21:46:12 +01:00