ログ日記

作業ログと日記とメモ

TexとHaskell

haskelldbを使う、ってタイトルで書こうとしてたけど見送り。

cabal install haskelldb --global

えーと、マニュアルは…。
http://haskelldb.sourceforge.net/haskelldb.pdf
これ?



論文を書くときはマニュアルにならないようにしろって言われたのを思い出す。
この分野では違うのかな。


それはともかくとして、
http://haskelldb.sourceforge.net/
このページの情報だけでは何とも心許ない。




何を探してて見つけたのか忘れてしまったが
http://jekor.com/article/is-haskell-a-good-choice-for-web-applications
これはどんな感じなのかなとソースを見るとびっくり。
TexHaskell両用なんだね。一つのファイルからPDF文書も実行ファイルも生成できるっぽい。


Haskellのプログラムの説明が論文形式になっていてやたらコード量が多いのはこういうわけだったか。
これは悩みどころだ。


とりあえずTeX用のパッケージはaptで入る。

aptitude install lhs2tex

lhsのソース。

%%
\documentclass[a4paper,titlepage,oneside,openright,12pt]{jarticle}
\usepackage[dvipdfm]{graphicx}
\usepackage{amssymb}
%% \usepackage{tikz}
%% \usetikzlibrary{shapes,arrows}

%include lhs2TeX.fmt
%include lhs2TeX.sty

\title{Literate Haskell Test}

\begin{document}
\maketitle

\section{Haskellのドキュメント&コード}

テスト。

\subsection{コード}

> import Data.Maybe
>
> main :: IO ()
> main = putStrLn "Literate Haskell Test"

\end{document}

やっつけMakefile。途中でEUCに変換している。

lhss := $(shell find . -name "*.lhs" -print)
EXE := test

all: test.pdf $(EXE)

test: $(lhss)
        ghc --make -Wall -o $(EXE) test.lhs

test.pdf: test.dvi
        dvipdfmx $<

test.dvi: test.tex
        platex $<

test.tex: $(lhss)
        lhs2TeX test.lhs | nkf -Ue > $@

clean:
        rm -f $(EXE) *.dvi *.hi *.aux *.log *.o *.pdf *.ptb *.tex *~