gpt4 book ai didi

haskell - 由于缩进而调试显式字符

转载 作者:行者123 更新时间:2023-12-04 15:39:40 25 4
gpt4 key购买 nike

haskell automatically inserts由于缩进,分号和大括号。在 this answer , 类型错误用于有 ghci打印带有明确显示的分号和大括号的代码。如何在这些插入后查看代码而不会出现错误?我希望应该有像 gcc 这样的东西的-E flag,显示宏预处理后的代码。

最佳答案

$ cat >> Hello.hs
main = do
putStr "Hello, "
putStrLn "World!"

$ ghc -ddump-ds Hello.hs # ds for "desugar"
[1 of 1] Compiling Main ( Hello.hs, Hello.o )

==================== Desugar (after optimization) ====================
Result size of Desugar (after optimization)
= {terms: 18, types: 9, coercions: 0, joins: 0/0}

-- RHS size: {terms: 8, types: 3, coercions: 0, joins: 0/0}
main :: IO ()
[LclIdX]
main
= >>
@ IO
GHC.Base.$fMonadIO
@ ()
@ ()
(putStr (GHC.CString.unpackCString# "Hello, "#))
(putStrLn (GHC.CString.unpackCString# "World!"#))

-- RHS size: {terms: 2, types: 1, coercions: 0, joins: 0/0}
:Main.main :: IO ()
[LclIdX]
:Main.main = GHC.TopHandler.runMainIO @ () main

-- RHS size: {terms: 5, types: 0, coercions: 0, joins: 0/0}
Main.$trModule :: GHC.Types.Module
[LclIdX]
Main.$trModule
= GHC.Types.Module
(GHC.Types.TrNameS "main"#) (GHC.Types.TrNameS "Main"#)

我怀疑这对于您的口味来说有点过于扩展,但它肯定不再具有 block 缩进。

关于haskell - 由于缩进而调试显式字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49081158/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com