Estimated hours taken: 2
Branches: main
Replace deprecated mode and inst syntax in most
of the test suite.
TODO:
Alter valid/mode_syntax.m when we start
issuing warnings about the deprecated syntax.
tests/*/*.m:
Replace deprecated mode and inst syntax.
Replace some uses of `:' as the module
qualifier.
Estimated hours taken: 3
Branches: main
Deprecate old-style lambda expressions properly.
compiler/make_hlds.m:
Emit a warning if an old-style lambda expression is
encountered.
compiler/notes/todo.html:
Remove this from the TODO list.
compiler/base_typeclass_info.m:
compiler/mercury_to_mercury.m:
extras/odbc/odbc.m:
tests/*/*.m:
Replace old-style lambda expressions as necessary.
Estimated hours taken: 0.1
Branches: main
tests/valid/intermod_lambda2.m:
Fix a test that no longer compiles due to a type
ambiguity caused by the inclusion of list.cons/3
in the library.
Estimated hours taken: 0.25
Branches: main, release
compiler/hlds_out.m:
Write zero arity predicate terms as `((pred) is semidet :- Goal)'
rather than `(pred() is semidet :- Goal)'.'
tests/valid/intermod_lambda2.m:
Test case.
Estimated hours taken: 0.1
tests/valid/intermod_lambda2.m
tests/valid/intermod_test2.m
Remove some mode errors which were not detected
because mode analysis was never run - only `.opt'
files are produced for these modules.
Estimated hours taken: 0.1
compiler/intermod.m
Use the declared argmodes or procedures when gathering modes to put
into .opt files, since these are the modes that are written to the
.opt file.
tests/valid/intermod_lambda.m
tests/valid/intermod_lambda2.m
Updated these to act as a regression test.
Estimated hours taken: 0.5
Fix an abort reported by Peter Schachte, which was caused by
hlds_module:get_pred_id_and_proc_id attempting to resolve overloading
on a predicate from a `.opt' file, while the code to resolve overloading
in typecheck.m does not attempt to match against predicates declared
in `.opt' files since all calls to such predicates should be module
qualified in the `.opt' file.
compiler/hlds_module.m
If a predicate call is module qualified, there is no overloading
to resolve, so don't check the argument types.
tests/valid/Mmake
tests/valid/intermod_lambda.m
tests/valid/intermod_lambda2.m
Added a regression test.