[mercury-users] List literals are falsely treated as being unique

Michael Day mikeday at yeslogic.com
Mon Jan 5 19:19:58 AEDT 2009


Mercury will accept that the literal list [1,2,3] is unique and allow me 
to pass it to a predicate that accepts lists with mode di.

However, the list is stored as static data, in a non-writable page, so 
the program will segfault if the list is actually modified.

This is similar to the issue affecting set_char on strings.

Summary: OUCH! Any program that performs destructive update on lists is 
only one accidentally passed constant away from disaster.



Print XML with Prince!
mercury-users mailing list
Post messages to:       mercury-users at csse.unimelb.edu.au
Administrative Queries: owner-mercury-users at csse.unimelb.edu.au
Subscriptions:          mercury-users-request at csse.unimelb.edu.au

More information about the users mailing list