tests/invalid/*.{m,err_exp}:
tests/misc_tests/*.m:
tests/mmc_make/*.m:
tests/par_conj/*.m:
tests/purity/*.m:
tests/stm/*.m:
tests/string_format/*.m:
tests/structure_reuse/*.m:
tests/submodules/*.m:
tests/tabling/*.m:
tests/term/*.m:
tests/trailing/*.m:
tests/typeclasses/*.m:
tests/valid/*.m:
tests/warnings/*.{m,exp}:
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 tests
that check compiler error messages, expect the new line numbers.
browser/cterm.m:
browser/tree234_cc.m:
Import only one module per line.
tests/hard_coded/boyer.m:
Fix something I missed.
Estimated hours taken: 0.5
Branches: main
Make the stream error type specific to each reader, not specific to an entire
input stream. This means that different readers attached to the same stream
can return different types of error; this is useful in the case where a
reader can return a partial result.
library/stream.m:
Change the definition of input streams so that they no longer include
parameter for the error type.
Introduce the error type as a parameter of the reader class.
This means that different readers attached to the same stream may
now have different error types. The error type is functionally
dependent upon the reader's handle and unit types.
library/io.m:
extras/net/tcp.m:
tests/valid/logged_stream.m:
Conform to the above change.
Estimated hours taken: 1.5
Branches: main
Fix a bug reported by Peter Ross.
compiler/check_typeclass.m:
Only check concrete instance definitions for mutual consistency.
Abstract definitions will always appear to be inconsistent with
the concrete ones.
tests/valid/Mmakefile:
tests/valid/logged_stream.m:
New test case.