While programming in GHCi, you're like programming in the IO monad with do
syntax, so for example you can directly execute an IO
action, 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
someFun2
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…