
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 | ==================================================