[Haskell-cafe] Mutable data design question
Keean Schupke
k.schupke at imperial.ac.uk
Fri Dec 3 11:37:41 EST 2004
Well, if you consider large word-processors like word keep a complete
undo history, I
would keep a document as a list of changes:
data Document = Insert Location String | Delete Location Location ...
so a document may look like:
[Insert 0 "Hello World", Delete 6 10, Insert "\n World"]
But you will still need mutable state for the actual edit buffer.
You also need to decide if you want to be able to edit files larger than
memory... If so
a mutable state buffer using the ST monad is probably the way to go
(STUArray).
Keean.
GoldPython wrote:
>In the case of writing something like a text editor where the data
>involved is by its very nature mutable, what sort of design paradigm
>would you use in a functional language?
>_______________________________________________
>Haskell-Cafe mailing list
>Haskell-Cafe at haskell.org
>http://www.haskell.org/mailman/listinfo/haskell-cafe
>
>
More information about the Haskell-Cafe
mailing list