Esiste un modo per eseguire codice in un file .lhs e mettere il risultato subito sotto il codice stesso nel PDF risultante?Metti il risultato del codice sotto il codice nel PDF risultante. Haskell
Ad esempio:
[1,2,3] ++ [4,5,6]
[1,2,3,4,5,6]
Esiste un modo per eseguire codice in un file .lhs e mettere il risultato subito sotto il codice stesso nel PDF risultante?Metti il risultato del codice sotto il codice nel PDF risultante. Haskell
Ad esempio:
[1,2,3] ++ [4,5,6]
[1,2,3,4,5,6]
Se si sta utilizzando LaTeX, è possibile utilizzare lhs2TeX. Ecco un semplice esempio di documento:
\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}
Questo eseguirà GHCi con il file di origine come input in background. È quindi possibile valutare le espressioni utilizzando \eval
nel contesto del modulo corrente (letteralmente Haskell), ei loro risultati verranno uniti nelle origini .tex
risultanti.
Intendi valutare automaticamente le espressioni che non sono dichiarazioni e incollare i risultati nel codice sorgente prima di trasformarlo in un pdf, un po 'come fa Mathematica? – AndrewC
Sì, qualcosa del genere. È per mostrare un esempio di come funziona una funzione, e voglio essere eseguita se qualcuno esegue il codice e deve essere mostrato anche se qualcuno guarda il PDF – Jcao02
Sicuramente, avremo bisogno di un po 'più di controllo su ciò che verrà prodotto , o non utilizzerai definizioni non stampabili? Perché non usare per es. ['HaTeX'] (http://hackage.haskell.org/package/HaTeX), forse insieme a [un quasi-quoter adatto] (http://www.haskell.org/pipermail/haskell-cafe/2008- October/049244.html) per evitare la duplicazione del codice. – leftaroundabout