Поместите результат кода прямо под кодом в полученный PDF. Haskell

Есть ли способ выполнить код в файле .lhs и поместить результат прямо под самим кодом в результирующий PDF?

Например:

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

Ответ 1

Если вы используете 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}

Это приведет к запуску GHCi с исходным файлом в качестве входного сигнала в фоновом режиме. Таким образом, вы можете оценить выражения, используя \eval в контексте текущего (грамотного Haskell) модуля, и их результаты будут сплайсированы в результирующие источники .tex.