
Hello There is no semantic implication of the difference. http://haskell.org/onlinereport/syntax-iso.html The Haskell syntax allows multiple declarations within a single let expression: exp10 -> ... | let decls in exp where decls is a list of declarations, (braces and colons can be replaced by layout): decls -> { decl1 ; ... ; decln } As a let ... in ... is an expression you can choose to write a list of declarations as nested let instead as you did in the second version.
From the original description of GHC intermediate form 'core' [1] page 3 shows that GHC chooses to desugar a let expression with a list of decls into nested singular let expressions, though this might have changed and also I might be misreading how GHC core distinguishes recursive let declarations which do appear as lists.
Best wishes Stephen [1] An External Representation for the GHC Core Language (DRAFT for GHC5.02) Andrew Tolmach and the GHC Team GHC doesn't define Haskell of course...