
Hello yin, Tuesday, July 19, 2005, 12:39:24 AM, you wrote: y> I saw it. The problem is, I need an amount of 100*X of mutable variables y> to implement the system (camera position, rotation, aceleration, ..., y> position and deformetion infomations for every object, ..., renderer y> situations [like temprary fading and other efects], ... and more) you can use global variables, records, impicit parameters. careful deisigning in terms which procedure needs which variables and which variables must be joined in records because them used together will help you. some data can belong just to modules where used, some data are better to convert into functions (for example, i convert regular expressions into functions checking match with that regular expressions) i recommend you to see examples of imperative programs written in Haskell, including my own (freearc.narod.ru), Yi editor (ftp://ftp.cse.unsw.edu.au/pub/users/dons/yi/yi-0.1.0.tar.gz), web server written by authors of GHC, PostMaster mail server (http://postmaster.cryp.to/postmaster-2005-02-14.tar.gz) my own program are extensively commented in Russian, plus contains examples of calling C routines which then calls back to Haskell using given code thunks (see Compress.hs) writing imperative program in Haskell is not as convenient as in C because all I/O and reading/writing variables must be coded as separate actions. but on the other side, you will get all the benefits of power data manipulations and also can invent your own control structures. you can find in my Utils.hs a number of such small helpers -- Best regards, Bulat mailto:bulatz@HotPOP.com