Take the 2-minute tour ×  I'd appreciate is someone could point
to docs on what "let" does in GHCi, or failing that, explain it
convincingly :-).  So far as I can tell, "let" (without "in") is
not part of the Haskell language per se, and on the other hand,
it doesn't appear to be a GHCI command either, as it's not
prefixed by colon.   share|improve this question add comment  4
Answers  up vote 18 down vote accepted  While programming in
GHCi, you're like programming in IO monad with do syntax, so for
example you can directly call a function with type of IO a, or
use monadic bind syntax like r <- someIOFun.  let is also a part
of do so you can also use this. I think it's being desugared
into let .. in <rest of the computation>, so for example when
you do this:  ghci> let a = 1 ghci> someFun ghci> someFun2  It's
like:  let a = 1 in do someFun share|improve this answer Its not
just IO () but any IO action of type IO a. –  Satvik Dec 27 '12
at 9:49 OK, that makes sense, and relates GHCi let to Haskell
let... in d