Thanks Ketil, I'll try to give that a try, but as I said beforen, I don't know anything about monads, and since this project is for next monday and I have many other projects for the University for next week too I can't learn them right now... What I need to do is randomly select an element from a List... Any Ideas? Also, I had another question in my original e-mail... Any ideas about that? ------Original Message------ From: Ketil Malde To: Hector Guilarte Cc: haskell-cafe@haskell.org Subject: Re: [Haskell-cafe] Making a strict (non-lazy) GCL Interpreter Sent: Jun 30, 2009 05:00
Hector Guilarte <hector...@gmail.com> writes: > I need to randomly select ONE of the valid conditions and execute it's > instruction. I know there is a Random Monad, but it returns an IO > Int, No, this is not right. Values in the Random monad are computations that rely on randomness, but they can produce values of arbitrary type. (The 'a' in 'Random a', no?) > Is there anyway I can do some Random that doesn't involve IO? or any other > solution? Some options are: 1. Use the IO monad 2. Use the Random monad 3. Pass around a RandomGen explicitly 4. Generate an infinite stream of random values, and pass that around I think option 2 is the nicest, but option 4 may work if the use of randomness is limited. No. 3 does the same as 2 (I presume, I never looked) but with a lot more noise in your code, and no. 1 erases the separation between real IO, and computations -- which IME includes a lot of them -- that happen to depend on randomness (but require no other IO). -k -- If I haven't seen further, it is by standing in the footprints of giants
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe