我正在尝试在 ghci 中以交互方式创建一个 do 块。只要我不使用 in 块定义变量,就可以了:
Prelude>let a = do putStrLn "test"; putStrLn "other test"
Prelude>
但我无法弄清楚如何在 do 块中交互地定义 let 构造而不会出现解析错误:
Prelude> let a = do let b = 5; putStrLn $ show b
<interactive>:2:40:
parse error (possibly incorrect indentation or mismatched brackets)
明显地
let a = do
let b = 5
putStrLn $ show b
在 Haskell 源文件中完全没问题。我只是无法弄清楚如何将其转换为 ghci。