2008/5/12 Lauri Oksanen <[EMAIL PROTECTED]>: > Hi, > > I'm writing my first real Haskell program and I came up with the following > code snippet. > > --- > let x' = x \+ dist \* dir > nx' = normal geometry > wi = (-1) \* dir > in do > (p, wo) <- brdfCosSampling reflector nx' wi > let color' = p \** color > q = min 1 (scalarContribution p) > in do > sampler <- biasedCoinSampler q > (radianceSampler surfaces x' wo (q \* color')) > (terminalRadianceSampler surfaces x' nx' ((1-q) \* > color')) > sampler > --- > > This works just fine but I don't like the way I had to indent the code > because of alternating lets and dos. > I would like to indent the code more like an imperative code i.e. like this
You can use let in a do-block, just don't use "in": do x <- something let y = ... x ... return (x + y) -- Denis _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
