Mark Thom
37e34c5209
reset instruction pointers with calls, make HCPrinter::range_from safe ( #1233 )
2022-01-31 21:24:19 -07:00
Mark Thom
4b71607215
count cycle lengths in skip_max_list_cycle ( #1260 )
2022-01-31 18:23:16 -07:00
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
835345b89e
Merge pull request #1257 from mthom/rebis-dev_improved-length
...
Improved length/2 and arg/3 range checking
2022-01-30 11:30:16 -07:00
Mark Thom
4ddacc707d
add range check to arg/3 ( #1250 )
2022-01-29 12:50:09 -07:00
Mark Thom
0d653a2ce6
improve '$skip_max_list'/4 and length/2 ( #1023 , #110 )
2022-01-29 12:47:26 -07:00
Markus Triska
2e57789d10
ENHANCED: Make toplevel output a Prolog term that can be read back also for "...".
...
This addresses #1240 .
2022-01-28 18:47:55 +01:00
Mark Thom
b3006f6fd8
inline store & deref calls in '' ( #1176 )
2022-01-26 23:03:19 -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
a562793fce
don't read into the heap while incrementing self.s ( #1233 , #1245 )
2022-01-25 20:37:29 -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
5ff579f793
recognize []/N as callable ( #1241 , #989 )
2022-01-21 08:10:59 -07:00
Mark Thom
8df346f377
expand phrase/{2,3} using dcg_body whenever possible
2022-01-21 08:10:55 -07:00
Mark Thom
af76068297
module-qualify callables more liberally but not for built-ins ( #1243 )
2022-01-20 17:40:45 -07:00
Mark Thom
5dddf0a460
dereference car of Lis in HeapPStRIter::step ( #1238 )
2022-01-19 20:51:23 -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
Markus Triska
b703303dd4
omit module prefix, because the goals are already module-qualified
2022-01-20 00:48:30 +01:00
Markus Triska
0da9d1c036
ENHANCED: more specific warning when initialization/1 fails ( #1149 )
2022-01-20 00:04:09 +01:00
Mark Thom
88436b8627
Merge pull request #1234 from aarroyoc/ctrld
...
Fix Ctrl-D in toplevel
2022-01-18 21:34:30 -07:00
Mark Thom
f6116510a1
print -0.0 as 0.0 ( #1164 )
2022-01-18 21:31:14 -07:00
Mark Thom
5a132aaff4
throw error instead of overwriting builtin export ( #1225 )
2022-01-18 19:16:14 -07:00
Mark Thom
59992c8af2
remove number/3 from arithmetic.pl ( #1170 )
2022-01-18 17:38:45 -07:00
Adrián Arroyo Calle
ff3ec78df9
Fix Ctrl-D ( #1168 )
2022-01-18 19:27:27 +01:00
Mark Thom
b980ae1e8c
fix floor for f64 ( #1223 )
2022-01-17 22:04:10 -07:00
Mark Thom
97b9d488d4
include library(error) in toplevel.pl ( #1226 )
2022-01-17 21:53:52 -07:00
Mark Thom
3ebf8d5db9
clear alias in close before resetting the stream to null ( #1231 )
2022-01-17 17:58:14 -07:00
Markus Triska
6a610ac57d
FIXED: toplevel to use (newly renamed) read_from_chars/2
2022-01-18 01:12:47 +01: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
c6400550e1
dereference second argument of '/2
2022-01-17 00:00:23 -07:00
Markus Triska
11d504e8f4
retain the string "[]" as is, instead of converting it to '[]' (i.e., "")
...
This addresses #1215 .
2022-01-16 17:50:20 +01:00
Mark Thom
83378e4373
deduplicate but do not sort anonymous variables in toplevel ( #1196 )
2022-01-15 19:24:22 -07:00
Mark Thom
06abe2302b
add missing cases to retract_clause ( #1214 )
2022-01-15 00:51:38 -07:00
Mark Thom
f3e5f7879d
allow late dynamic declaration for predicates ( #1205 )
2022-01-14 16:31:49 -07:00
Mark Thom
bc5125b719
put_complete_string should push the empty list to the heap for empty strings ( #1209 )
2022-01-14 16:31:49 -07:00
Mark Thom
c6d23f9a0b
fix off-by-one error in DynamicIndexedChoice ( #1210 )
2022-01-14 16:31:22 -07:00
Mark Thom
3b8afce7c7
fix syntax regressions ( #1198 , #1164 )
2022-01-13 23:54:55 -07:00
Mark Thom
39e28f1f2a
write plaintext and ciphertext directly to atoms ( #1193 )
2022-01-13 08:47:56 -07:00
Mark Thom
d9e190096c
delimit partial strings around \x0\
2022-01-12 22:10:59 -07:00
Mark Thom
340d428c88
Merge pull request #1199 from Skgland/do_not_gen_in_src
...
Generate into $OUT_DIR instead of src/
2022-01-11 23:01:59 -07: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
c5cda99f9d
evaluate floats referenced from the heap by tagged pointers ( #1203 )
2022-01-11 18:42:01 -07:00
Mark Thom
67854e0720
execute trust instead of retry at the end of dynamic choice blocks ( #1204 , #1173 )
2022-01-11 18:24:26 -07:00
Mark Thom
cfe257495a
recognize characters as separate from atoms in ''/7 ( #1192 )
2022-01-10 21:18:11 -07:00
Mark Thom
5f4e701461
render [] as empty string in AtomOrString::as_str() ( #1193 )
2022-01-10 20:46:00 -07:00
Mark Thom
e3622e0860
improve between_/3 implementation ( #1186 , #1191 )
2022-01-10 18:34:25 -07:00
Mark Thom
f0e6b8ca47
imitate Rc-style equality for TypedArenaPtr ( #1190 )
2022-01-10 18:25:30 -07:00