mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-26 06:44:24 +00:00
Estimated hours taken: 5
Branches: main
compiler/prog_io.m:
More cleanups. Replace Term0, Term1 etc with meaningful variable
names, and use better variable names in general. Rename some
predicates as well when the old names didn't tell you what the
predicate did, and where the name was ambiguous. Convert several
predicates to disjunctions where this allows factoring out common
code or giving consistent names to arguments.
Inline some more auxiliary predicates whose purpose of indexing
on Prolog systems has long expired. In one case, the simplification
that this made possible showed an opportunity to generate more
comprehensive error messages.
Reorder the predicates in this module to form blocks of code each
dealing with one kind of Mercury construct, e.g. type definitions,
mode definitions, predicate and function declarations, etc.
compiler/prog_io_util.m:
A few changes of the same sort as in prog_io.m.
compiler/prog_io_goal.m:
Conform to the new name of a predicate in prog_io.m.
tests/invalid/func_errors.err_exp:
Expect the more comprehensive error messages.
9 lines
450 B
Plaintext
9 lines
450 B
Plaintext
func_errors.m:010: Error: function arguments have modes, but function result
|
|
func_errors.m:010: does not.
|
|
func_errors.m:010: Error: some but not all arguments have modes.
|
|
func_errors.m:011: Error: function arguments have modes, but function result
|
|
func_errors.m:011: does not.
|
|
func_errors.m:012: Error: function result has mode, but function arguments do
|
|
func_errors.m:012: not.
|
|
func_errors.m:018: Error: some but not all arguments have modes.
|