[m-rev.] for review: allow library to compile with high level data on .NET
Tyson Dowd
trd at cs.mu.OZ.AU
Tue Jul 16 16:26:20 AEST 2002
On 02-Jul-2002, Peter Ross <pro at missioncriticalit.com> wrote:
> Hi,
>
> For Fergus or Tyson to review.
>
>
> ===================================================================
>
>
> Estimated hours taken: 120
> Branches: main
>
> Allow the library to compile in the grade il (high level data).
>
> compiler/ml_util.m:
> Add more types which need to be represented using the low level
> representation because of how they are handled in the library.
>
> compiler/mlds_to_il.m:
> Remove an XXX which is no longer necessary.
> Add the heap_pointer type to the list of types whose RTTI is defined
> by hand.
I just posted this change for heap_pointer -- if you commit soon I guess
i don't need to worry about it.
Doesn't it need to be added to type_util__type_is_hand_defined as well?
>
> library/exception.m:
> Move the definition of Exception from the runtime to the local module.
> This is needed for when univ/0 is no longer represented as a low level
> type.
>
> runtime/mercury_mcpp.cpp:
> Remove the implementation of Exception that is now in exception.m.
>
> library/Mmakefile:
> The lowlevel Exception type is now defined in the library not the
> runtime, so add rules to ensure that the foreign code is built in
> the correct order.
>
> library/io.m:
> Reimplement io__stream as a foreign_type. This makes the code more
> type safe and avoids problems with the different representation of
> the io__stream type when using high and low level data.
> Change io__command_line_arguments so that it throws an exception
> when we use high level data, as I am yet to work out how to access
> high level lists.
>
> library/rtti_implementation.m:
> Add a comment that get_subterm doesn't work with high level data.
> Fix some bugs with the default versions of type_ctor_compare_pred and
> type_ctor_unify_pred.
>
> library/sparse_bitset.m:
> Remove the foreign_proc implementation of make_bitset_elem as it
> will not work with both data representations and their is a Mercury
> implementation.
s/their/there/
>
> library/string.m:
> Remove the foreign_proc implementation of all the predicates which
> manipulate lists as they all have a Mercury implementation, as I am yet
> to work out how to access high level lists.
> Add a Mercury implementation for string__join_list.
>
> runtime/mercury_mcpp.h:
> library/array.m:
> library/builtin.m:
> library/private_builtin.m:
> library/type_desc.m:
> Define and use typedefs where appropiate for type_info/0, type_info/1,
> comparison_result/0 and univ/0, as there representation may change in
> the future between using high level and low level data.
The rest of the change seems OK.
--
Tyson Dowd #
# Surreal humour isn't everyone's cup of fur.
trd at cs.mu.oz.au #
http://www.cs.mu.oz.au/~trd #
--------------------------------------------------------------------------
mercury-reviews mailing list
post: mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------
More information about the reviews
mailing list