将结果的代码放在生成PDF的代码正下方.哈斯克尔

Jca*_*o02 10 haskell literate-programming

有没有办法在.lhs文件中执行代码并将结果放在代码本身的正下方?

例如:

[1,2,3] ++ [4,5,6]
[1,2,3,4,5,6]
Run Code Online (Sandbox Code Playgroud)

kos*_*kus 11

如果您使用的是LaTeX,则可以使用lhs2TeX.这是一个简单的示例文档:

\documentclass{article}

%include polycode.fmt
%options ghci

\begin{document}

< [1,2,3] ++ [4,5,6]

This evaluates to \eval{[1,2,3] ++ [4,5,6]}.

> x = [1 .. 6]

And this evaluates to \eval{x}, too.

\end{document}
Run Code Online (Sandbox Code Playgroud)

这将在背景中将源文件作为输入运行GHCi.因此,您可以\eval在当前(有文化的Haskell)模块的上下文中使用它来计算表达式,并将它们的结果拼接到结果.tex源中.