Update on GHC 6.12.1

Simon Peyton-Jones simonpj at microsoft.com
Thu Oct 29 04:48:03 EDT 2009


|  >   do { a <- getChar
|  >      ; rec { b <- f c
|  >            ; c <- g b }
|  >      ; putChar c
|  >      ; return b }


| This last point notwithstanding,
| I find the scoping rules very unintuitive!
| (b and c appear to escape their apparently nested scope.)

well you are happy with

	do { z <- getChar
	   ; let { b = f c
                ; c = g b }
          ; putChar c
          ; return b }

It's just the same!  Perhaps I should mention this in the user manual.

(In haskell 'let' means 'letrec' of course.)

Simon




More information about the Glasgow-haskell-users mailing list