Releases: lindseyspratt/proscriptls
1.5.9
1.5.8
Fixed bug in string_to_codes function that caused eval_javascript to overwrite one slot on the heap with NIL, which caused some uses of eval_javascript to lead to the WAM eventually throwing an error.
1.5.7
Added 'w' and 'd(N)' debugger trace commands.
1.5.6
Object method spec fixes.
Extended MouseEvent API.
Added max_depth option to write_term; used it in debugger and repl.
Optimized sort/2 and keysort/2.
1.5.5
Fixed handling of negative integers.
1.5.4
Fixed cut and neck_cut to set HB.
Fixed a module bug in data_predicates.
Fixed yield/0 to handle concurrent invocation of proscriptls function - added wamYielded to WAM state.
1.5.3
Fixed term comparison where terms were sometimes not dereferenced. Generally ensured proper term dereferencing in builtin predicates.
Added documentation for many predicates.
Fixed writeq/2,3 to properly escape backslash.
Fixed gensym/2 to increment its counter.
Added random builtins and arithmetic functions.
Added WindowOrWorkerGlobalScope Web API Interface.
1.5.2
(skipped version 1.5.1) Added undo.pl to library and extended library/data_predicates.pl to use it.
Fixed ProscriptLS interpreter terminal to escape text written to the terminal.
1.5.0
Features:
New builtin system predicates: statistics: added heap_size, max_stack, and max_heap to statistics/0 output; added statistics_heap_size/1, statistics_max_stack/1, and statistics_max_heap/1 builtins. Added yield/0 predicate to allow HTML events to happen 'immediately'. Added copy_memory_file_to_local_storage/2 and copy_local_storage_to_memory_file/2 to move data between Window.localStorage and a memory_file.
Added new exported predicates to data_predicates.pl: save_data/2, save_data/3, save_data_stream/2, save_data_stream/3, load_data/2, remove_data/2, retract_all_data/1, and retract_all_data/2.
Extended basic object.pl predicates >>/2, >->/2, >+>/2, >*>/2, and >@>/2 to allow object expression in first argument.
Added support for Web API Interfaces Storage, WindowLocalStorage, and WindowSessionStorage.
Extended dynamic directive to allow explicit module and lists.
Bug fixes:
=../2 : fixed trivial case - X =.. [a], X =.. [1].
Fixed compiler to properly handle aux_definition compilations where the first goal has multiple arguments. This fixes bugs in several meta-logical builtins, e.g. setup_call_catch_cleanup, +, and forall.
Fixed write_term_canonical/1 to quote atoms that start with a digit (0 to 9).
Fixed Prolog parser to handle 'yfx' operator associativity correctly.
Fixed prolog_flag values for min_integer and max_integer.
Fixed object processing to handle arrayType correctly.
Fixed dom_object_method/2 and dom_object_method/3 to properly fail when multiple-return method result is 'null'.
Fixed open_memory_file/3 to set position correctly and support 'append' mode.
Fxed retract_data/2 in data_predicates.pl to process nested modules; fixed handling of default id.
Performance:
Added cuts.
Changed wam_compiler.pl to track current compilation module and current compilation stream using recorda/2, recorded/2, and erase/1 instead of asserta/1 and retract/1.
1.4.1
Fixed indexing in ProscriptLS-generated code (was working in bootstrap-SWIPL-generated code).
Extended data_predicates.pl with retract_data/1.
Fixed several build issues.
Added hex format for positive integers.
Fixed a bug in nested setof/3 goals.
Reimplemented member/2 as simple ProscriptLS predicate instead of builtin.