
Hi, Am Donnerstag, den 20.10.2011, 23:10 +0200 schrieb Ertugrul Soeylemez:
In general you should try to work with immutable vectors as much as possible. Done properly you shouldn't lose much performance that way.
However, sometimes an operation is just much easier to express and faster with the MVector interface. In these cases you can escape to the mutable interface using 'create', 'modify', 'thaw' and 'freeze'. Don't forget that you lose fusion that way, though.
In other words: Don't use MVector exclusively. Use it only when you really need it.
that was my plan, although it is a bit more complicated as I have a immutable vector of immutable boxed vectors that I’d like to modify destructively. Currently, I have lots of V.map and V.filter... The code is here, and should perform constant propagation in a SAT-instance: http://git.nomeata.de/?p=sat-britney.git;a=blob;f=Picosat.hs;h=910e530a0aa54... Greetings, Joachim -- Joachim "nomeata" Breitner mail@joachim-breitner.de | nomeata@debian.org | GPG: 0x4743206C xmpp: nomeata@joachim-breitner.de | http://www.joachim-breitner.de/