[Haskell-cafe] random colors, stack space overflow,
mersenne and mersenne.pure64
Jason Dagit
dagit at codersbase.com
Sat Sep 13 00:01:30 EDT 2008
On Fri, Sep 12, 2008 at 8:53 PM, Don Stewart <dons at galois.com> wrote:
> cetin.sert:
>
>> main :: IO ()
>> main = do
>> as <- getArgs
>> mt <- newPureMT
>> let colors = randomRs (lo,hi) mt :: [RGB]
>> print $ zip tx cs
>> where
>> lo = read $ as !! 0
>> hi = read $ as !! 1
>> tx = as !! 2
>> Why is as not visible in the where block?
>
> Same as:
>
> main =
> let
> lo = read $ as !! 0
> hi = read $ as !! 1
> tx = as !! 2
> in do
> as <- getArgs
> mt <- newPureMT
> let colors = randomRs (lo,hi) mt :: [RGB]
> print $ zip tx cs
>
> If that helps think about when things are bound.
And you probably want this rewrite (untested):
main :: IO ()
main = do
as <- getArgs
let lo = read $ as !! 0
hi = read $ as !! 1
tx = as !! 2
mt <- newPureMT
let colors = randomRs (lo,hi) mt :: [RGB]
print $ zip tx cs
My indentation may be a bit off as I didn't use a fixed width font to type it.
Jason
More information about the Haskell-Cafe
mailing list