Commit Graph
2734 Commits
Author SHA1 Message Date
Mark Thom f3f3dccf8e reference partial strings properly in read_term (#1271) 2022-02-06 15:14:18 -07:00
Mark Thom 2f0718e885 fix write_canonical on strings (#1233) 2022-02-05 20:40:28 -07:00
Mark Thom 7b8001d060 fix '$skip_max_list'/4 (#1260) 2022-02-05 18:33:30 -07:00
Mark Thom 3c022e4332 fix float formatting (#1233, #1258) 2022-02-05 18:33:27 -07:00
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
Jos De Roo 1a4f8f992b Update clpz.pl
While running with scryer-prolog the resource control file should be ~/.scryerrc
2022-01-17 22:35:31 +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