do let in
Hal Daume III
hdaume@ISI.EDU
Mon, 3 Mar 2003 20:03:44 -0800 (PST)
in 'do' notation, 'let' doesn't take an in. so you want to get rid of the
'in' on the third to last line.
> main =
> do
> args <- System.getArgs
> let (m, b) = (read (args!!0), read (args!!1))
> let lim :: Int
> lim = read (args!!2)
> printstate = args!!3
> time1 <- getClockTime
> let n = 2^b
> let afact = array (0,n) ((0,1):[(i,i*afact!(i-1)) | i<-[1..n]]) in
> let (glo, ghi) = gamma_tup lim m b
> time2 <- getClockTime
>
> gives the Hugs error
> ERROR "gamma3_7.hs":141 - Syntax error in expression (unexpected `;', possibly
> due to bad layout)
>
> I tried indenting the last two lines, or just the penulatimate line, but no
> joy. I've modified my functions to use afact instead of fact, but I'm hoping
> to have it exist as a global for them, rather than modifying all the function
> signatures to pass afact down the chain.
>
> Help, please?
>
> -xx- Damien X-)
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe@haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>