[Haskell-cafe] unsafeDestructiveAssign?

Job Vranish jvranish at gmail.com
Tue Aug 11 11:48:45 EDT 2009

Does anybody know if there is some unsafe IO function that would let me do
destructive assignment?
Something like:

a = 5
main = do
  veryUnsafeAndYouShouldNeverEveryCallThisFunction_DestructiveAssign a 8
  print a
> 8

and yes I am in fact insane...

I'm also looking for a way to make actual copies of data.
so I could do something like this:

a = Node 5 [Node 2 [], Node 5 [a]]
main = do
  b <- makeCopy a
  veryUnsafeAndYouShouldNeverEveryCallThisFunction_DestructiveAssign b (Node
0 [])
  -- 'a' is unchanged

It would be even more fantastic, if the copy function was lazy.
I think the traverse function might actually make a copy, but I would be
happier with something more general (doesn't require membership in
traversable), and more explicit (was actually designed for making real

Any ideas?


- Job
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20090811/1ce69922/attachment.html

More information about the Haskell-Cafe mailing list