Someone将Literate Haskell和Markdown结合起来。对我有意义,所以我想尝试一下。但是Haskell不喜欢Markdown'#'标题语法:
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语法无效。
答案 0 :(得分:5)
第一列中的'#'会导致GHCi出现问题,即使代码块前后有空行也是如此。如果您使用的是Pandoc,则可以使用标题下划线解决此问题。
Hello World ----------- > main = putStrLn "hello, world"
答案 1 :(得分:4)
答案 2 :(得分:0)
我只使用了LHS with Pandoc,但是Pandoc确实指定了鸟类分隔的块引用是段落级元素,而Pandoc markdown(和常规markdown)中的段落在它们之前需要一个空行。所以以下内容应该有效......
# Hello World #
> main = putStrLn "hello, world"