[m-rev.] Add `:- mutable' declaration to the language.
Ian MacLarty
maclarty at cs.mu.OZ.AU
Thu Sep 1 16:44:41 AEST 2005
On 1 Sep 2005, at 16:24, Ralph Becket wrote:
> Ian MacLarty, Thursday, 1 September 2005:
>>
>> I still think these should be supplied.
>>
>> If the pure versions are supplied then they can be used without having
>> any knowledge of the impurity system (which can take a while to learn
>> to use properly, especially if you are new to Mercury).
>> With the pure versions there is no burden on the user to promise that
>> they are pure and therefore no need to understand the impurity system.
>> This would make the :-mutable declarations more generally accessible.
>
> We don't want `mutable' declarations to be generally accessible, for
> they are an abomination in the sight of God. Albeit sometimes
> necessary.
>
They are only an abomination in the sight of God because God feels left
out of the picture because he lives in the I/O state :-)
Seriously, it would be useful for a Mercury interface to a foreign API
to be able to store and retrieve Mercury structures from the I/O state
without using io.{get,set}_globals (since then the user of the library
can't use io.{get,set}_globals) and without requiring the user to pass
around additional state. :- mutable declarations are therefore
generally useful and we should therefore provide a pure method to
access them so that people can use them without having to understand
impurity.
Ian.
--------------------------------------------------------------------------
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