std_util:type_name/1.
compiler/base_type_info.m:
compiler/polymorphism.m:
library/mercury_builtin.m:
Add module names to base_type_infos.
library/io.m:
library/term.m:
Check module names as well as type names for special cases.
Add module qualifiers to terms that represent types
(That is, when converting type_infos to terms).
library/std_util.m:
Add type_ctor_module_name/1, add an argument to
type_ctor_name_and_arity for the module name.
Add module qualifiers to the name returned by type_name.
runtime/type_info.h:
Define the offset fo type module names, add
MR_TYPECTOR_GET_HOT_MODULE_NAME and
MR_BASE_TYPEINFO_GET_TYPE_MODULE_NAME
tests/hard_coded/higher_order_type_manip.exp:
tests/hard_coded/write.exp:
tests/hard_coded/write_reg1.exp:
Update test case expected output with module qualifiers where needed.
Estimated hours taken: 6
The main purpose of this change is to rename array.m as bt_array.m, and
uniq_array.m as array.m. The interfaces of those two modules have grown
slightly so that they match a little more closely. Details are in the
file NEWS.
The implementation of bt_array (formerly array) has been changed to use
a slightly more efficient implementation.
NEWS:
Interface changes documented.
library/array.m:
library/bt_array.m:
Changes mentioned above and detailed in the NEWS file.
library/uniq_array.m:
Bereft of life and resting in peace.
library/io.m:
library/library.m:
library/std_util.m:
library/term.m:
compiler/base_type_layout.m:
runtime/deep_copy.c:
runtime/type_info.h:
Minor changes to fix the special case of base_type_layout
operations for arrays rather than uniq_arrays.
tests/hard_coded/write.exp:
tests/hard_coded/write.m:
Test writing of arrays.
tests/general/array_test.exp:
tests/general/array_test.m:
Test some array/bt_array operations.
Estimated hours taken: 0.5
tests/hard_coded/write.exp:
tests/hard_coded/write_reg1.exp:
Change the expected output for writing out values of type `var'.
Previously, due to a bug (compare_type_info didn't expand
equivalence types), values of type `var' were incorrectly
output in quotes (as if they were atoms) rather than outputting
them as ints.
Estimated hours taken: 1
Update the test cases to reflect recent changes to io__write.
test/hard_coded/construct.m:
test/hard_coded/expand.m:
Use `io__print' rather than `io__write' for univs,
so that it doesn't output the `univ(... : type)' wrappers.
tests/hard_coded/deep_copy_bug.exp:
tests/hard_coded/construct.exp:
tests/hard_coded/expand.exp:
tests/hard_coded/write.exp:
tests/hard_coded/write_reg1.exp:
Change the expected output to use proper list notation
rather than prefix `.', and to properly quote strings and atoms,
but also to improperly quote equivalences types.
tests/hard_coded/Mmake:
Add a comment explaining that deep_copy_bug.exp, write.exp, and
write_reg1.exp are wrong, due to a bug in io__write.
Estimated hours taken: 30
Add io__write/3 and io__write/4, which writes anything to the current,
or specified, output stream.
(At fjh's request, these test cases have not yet been enabled).
tests/hard_coded/write.m:
tests/hard_coded/write.exp:
Test for io__write, exercises all data types and representations.