mutable records
Iavor S. Diatchki
diatchki@cse.ogi.edu
Mon, 09 Sep 2002 13:45:37 -0700
hi,
> Is it possible to define parts of a record with the help of the *ST s*
> monad *mutable* during the whole program? (As is possible in Ocamel)?
you can find an example of how to do that at:
http://icfpcontest.cse.ogi.edu/simulator/
look inside module Robo for example. there you will find examples of
records with mutable fields and some useful functions to manipulate
them. the state of the "objects" is not hidden so it is available for
anyone to modify. to hide the state you could use fancy types as people
already pointed out, or you could use the Haskell module system.
unfortunatelly with the Haskell module system approach you soon run into
recursive modules (when objects depend on each other) and this is not
well supported by Haskell implementations at the moment.
bye
iavor
--
==================================================
| Iavor S. Diatchki, Ph.D. student |
| Department of Computer Science and Engineering |
| School of OGI at OHSU |
| http://www.cse.ogi.edu/~diatchki |
==================================================