tests/accumulator/*.m:
tests/analysis_*/*.m:
tests/benchmarks*/*.m:
tests/debugger*/*.{m,exp,inp}:
tests/declarative_debugger*/*.{m,exp,inp}:
tests/dppd*/*.m:
tests/exceptions*/*.m:
tests/general*/*.m:
tests/grade_subdirs*/*.m:
tests/hard_coded*/*.m:
Make these tests use four-space indentation, and ensure that
each module is imported on its own line. (I intend to use the latter
to figure out which subdirectories' tests can be executed in parallel.)
These changes usually move code to different lines. For the debugger tests,
specify the new line numbers in .inp files and expect them in .exp files.
Branches: main
Change the argument order of predicates in the rbtree and tree234 modules
to make them more conducive to the use of state variable notation.
(This change will break existing code that uses these modules but such
modules should be quite rare; most existing code uses the map module.)
library/rbtree.m:
Change argument orderings as above.
Add further modes for the foldl predicates that have
(mostly-)unique accumulators.
library/tree234.m:
Change argument orderings as above.
library/map.m:
profiler/generate_output.m:
tests/debugger/declarative/mapinit.m:
tests/hard_coded/transform_value.m:
Conform to the above changes.
NEWS:
Announce the above changes.
Estimated hours taken: 2
Branches: main
Add the operation transform_value to map, tree234 and rbtree. This applies a
higher order argument to a value in the map. Often a value needs to be updated
using its previous value. Currently this requires two lookups of the key.
With transform_value only one lookup is required.
NEWS
Mention the new predicate.
library/map.m
library/rbtree.m
library/tree234.m
Add transform_value.
library/require.m
Add a version of report_lookup_error that doesn't take a value
argument, since the value argument is not available in transform_value.
tests/hard_coded/Mmakefile
tests/hard_coded/transform_value.exp
tests/hard_coded/transform_value.m
Test transform_value.