[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