[m-dev.] for review: make store.m use existential types
Peter Ross
petdr at cs.mu.OZ.AU
Thu Apr 13 14:01:16 AEST 2000
On 10-Apr-2000, Fergus Henderson <fjh at cs.mu.OZ.AU> wrote:
> Estimated hours taken: 2
>
> Change library/store.m to make use of existential types.
>
> library/store.m:
> Add a new existentially predicate store__new/1, which is like the old
> store__init/1 but existentially typed. This ensures safety,
> by preventing you from using a key from one store as an index
> into a different store.
>
> The unsafe store__init predicate is now declared `pragma obsolete'.
> The store__some_store_type type is now also documented as obsolete
> (unfortunately there is currently no equivalent to a `pragma obsolete'
> declaration for types).
>
> browser/declarative_execution.m:
> extras/trailed_update/samples/interpreter.m:
> Use store__new rather than the obsolete store__init.
>
> tests/general/intermod_type2.m:
> Avoid using the obsolete type store__some_store_type.
>
> extras/curses/user.m:
> Add a new predicate init_curse_store, and use that
> instead of the obsolete store__init.
> Also rename set_curse and get_curse as set_curse_store
> and get_curse_store respectively.
>
> NEWS:
> Mention this change.
>
This change looks fine.
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to: mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions: mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------
More information about the developers
mailing list