Someone有一个将 Literate Haskell 和 Markdown 结合起来的好主意。对我来说很有意义,所以我想尝试一下。但是 Haskell 不喜欢 Markdown '#' header 语法:
Hello World
> main = putStrLn "hello, world"
作品...
$ runhaskell hello_world.lhs
hello, world
尽管...
# Hello World #
> main = putStrLn "hello, world"
不...
$ runhaskell hello_world.lhs
hello_world.lhs:1:3: lexical error at character 'H'
有什么是合法的定义吗? Haskell 语法仅提及 Literate Haskell例如,并没有暗示 Markdown 语法是无效的。
最佳答案
第一列中的“#”会导致 GHCi 出现问题,即使代码块前后有空行也是如此。如果您使用的是 Pandoc,则可以通过为标题使用下划线来解决此问题。
Hello World
------------
> main = putStrLn“你好,世界”
这是一个已知问题:http://hackage.haskell.org/trac/ghc/ticket/4836
关于haskell - 什么是合法的识字 Haskell?某处的正式语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5508886/