If you are using LaTeX, you can use lhs2TeX. Here is a simple example document:
\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}
This will run GHCi with the source file as input in the background.
You can thus evaluate expressions using \eval
in the context of the current (literate Haskell) module,
and their results will be spliced into the resulting .tex
sources.