fix brackets, check floats and widows in chp 1-3
[phd-thesis.git] / preamble / lstlanghaskell.sty
1 \lstdefinelanguage[Regular]{Haskell}[]{Haskell}{%
2 keywords={abstype,if,then,else,case,class,data,default,deriving,hiding,if,in,infix,infixl,infixr,import,instance,let,module,newtype,of,qualified,type,where,do,Q},
3 morekeywords={forall},
4 literate=%
5 % {forall}{{$\forall$}}1
6 {\_}{{\raisebox{.15ex}{\_}}}1
7 {~}{{\raisebox{-.6ex}{\textasciitilde}}}1
8 % {\\}{{$\lambda\:$}}1
9 {->}{{$\shortrightarrow$}}2
10 {>->}{{>->}}3
11 {<-}{{$\shortleftarrow$}}2
12 {=>}{{$\Rightarrow$}}2
13 {<=}{{$\Leftarrow$}}2
14 {...}{{$\cdots$}}3 %chktex 11
15 {\[p|}{{$\llbracket_p$}}2
16 {\[d|}{{$\llbracket_d$}}2
17 {\[t|}{{$\llbracket_t$}}2
18 {\[e|}{{$\llbracket_e$}}2
19 {\[dsl|}{{$\llbracket_{dsl}$}}4
20 {\[bin|}{{$\llbracket_{bin}$}}4
21 {\[|}{{$\llbracket$}}1
22 {|\]}{{$\rrbracket$}}1
23 {\(}{{{\rm\tt(}}}1
24 {\)}{{{\rm\tt)}}}1
25 }
26 \lstdefinelanguage[Lhs2Tex]{Haskell}[Regular]{Haskell}{%
27 moreliterate=%
28 {e1}{{e\textsubscript{1}}}2
29 {e2}{{e\textsubscript{2}}}2
30 {e3}{{e\textsubscript{3}}}2
31 {e1p}{{e\textsubscript{1}\textsuperscript{$\prime$}}}2
32 {e2p}{{e\textsubscript{2}\textsuperscript{$\prime$}}}2
33 {eval_0}{{eval\textsubscript{0}}}5
34 {Eval_0}{{Eval\textsubscript{0}}}5
35 {Expr_0}{{Expr\textsubscript{0}}}5
36 {Lit_0}{{Lit\textsubscript{0}}}4
37 {Add_0}{{Add\textsubscript{0}}}4
38 {Sub_0}{{Sub\textsubscript{0}}}4
39 {Print_0}{{Print\textsubscript{0}}}6
40 {print_0}{{print\textsubscript{0}}}6
41 {Sem_s}{{Sem\textsubscript{s}}}4
42 {lit_s}{{lit\textsubscript{s}}}4
43 {add_s}{{add\textsubscript{s}}}4
44 {sub_s}{{sub\textsubscript{s}}}4
45 {Expr_t}{{Expr\textsubscript{t}}}5
46 {Eval_t}{{Eval\textsubscript{t}}}5
47 {E_t}{{E\textsubscript{t}}}2
48 {Printer_t}{{Printer\textsubscript{t}}}8
49 {P_t}{{P\textsubscript{t}}}2
50 {lit_t}{{lit\textsubscript{t}}}4
51 {add_t}{{add\textsubscript{t}}}4
52 {Sub_t}{{Sub\textsubscript{t}}}4
53 {sub_t}{{sub\textsubscript{t}}}4
54 {eval_1}{{eval\textsubscript{1}}}5
55 {Eval_1}{{Eval\textsubscript{1}}}5
56 {Expr_1}{{Expr\textsubscript{1}}}5
57 {Lit_1}{{Lit\textsubscript{1}}}4
58 {Add_1}{{Add\textsubscript{1}}}4
59 {Sub_1}{{Sub\textsubscript{1}}}4
60 {Print_1}{{Print\textsubscript{1}}}6
61 {print_1}{{print\textsubscript{1}}}6
62 {eval_2}{{eval\textsubscript{2}}}5
63 {Eval_2}{{Eval\textsubscript{2}}}5
64 {Expr_2}{{Expr\textsubscript{2}}}5
65 {Lit_2}{{Lit\textsubscript{2}}}4
66 {Add_2}{{Add\textsubscript{2}}}4
67 {Sub_2}{{Sub\textsubscript{2}}}4
68 {sub_2}{{sub\textsubscript{2}}}4
69 {Ext_2}{{Ext\textsubscript{2}}}4
70 {Print_2}{{Print\textsubscript{2}}}6
71 {print_2}{{print\textsubscript{2}}}6
72 {Semantics_2}{{Semantics\textsubscript{2}}}{10}
73 {eval_3}{{eval\textsubscript{3}}}5
74 {Eval_3}{{Eval\textsubscript{3}}}5
75 {Print_3}{{Print\textsubscript{3}}}6
76 {print_3}{{print\textsubscript{3}}}6
77 {opt_3}{{opt\textsubscript{3}}}4
78 {Opt_3}{{Opt\textsubscript{3}}}4
79 {HasEval_3}{{HasEval\textsubscript{3}}}8
80 {getEval_3}{{getEval\textsubscript{3}}}8
81 {EvalDict_3}{{EvalDict\textsubscript{3}}}9
82 {HasPrint_3}{{HasPrint\textsubscript{3}}}9
83 {getPrint_3}{{getPrint\textsubscript{3}}}9
84 {PrintDict_3}{{PrintDict\textsubscript{3}}}{10}
85 {HasOpt_3}{{HasOpt\textsubscript{3}}}7
86 {getOpt_3}{{getOpt\textsubscript{3}}}7
87 {OptDict_3}{{OptDict\textsubscript{3}}}8
88 {Expr_3}{{Expr\textsubscript{3}}}5
89 {Lit_3}{{Lit\textsubscript{3}}}4
90 {Add_3}{{Add\textsubscript{3}}}4
91 {Sub_3}{{Sub\textsubscript{3}}}4
92 {sub_3}{{sub\textsubscript{3}}}4
93 {Ext_3}{{Ext\textsubscript{3}}}4
94 {eval_4}{{eval\textsubscript{4}}}5
95 {Eval_4}{{Eval\textsubscript{4}}}5
96 {Print_4}{{Print\textsubscript{4}}}5
97 {print_4}{{print\textsubscript{4}}}5
98 {opt_4}{{opt\textsubscript{4}}}4
99 {Opt_4}{{Opt\textsubscript{4}}}4
100 {HasEval_4}{{HasEval\textsubscript{4}}}8
101 {getEval_4}{{getEval\textsubscript{4}}}8
102 {EvalDict_4}{{EvalDict\textsubscript{4}}}9
103 {HasPrint_4}{{HasPrint\textsubscript{4}}}9
104 {getPrint_4}{{getPrint\textsubscript{4}}}9
105 {PrintDict_4}{{PrintDict\textsubscript{4}}}{10}
106 {HasOpt_4}{{HasOpt\textsubscript{4}}}7
107 {getOpt_4}{{getOpt\textsubscript{4}}}7
108 {OptDict_4}{{OptDict\textsubscript{4}}}8
109 {OptPrintDict_4}{{OptPrintDict\textsubscript{4}}}{14}
110 {OPD_4}{{OPD\textsubscript{4}}}4
111 {Expr_4}{{Expr\textsubscript{4}}}5
112 {Lit_4}{{Lit\textsubscript{4}}}4
113 {Add_4}{{Add\textsubscript{4}}}4
114 {Sub_4}{{Sub\textsubscript{4}}}4
115 {SubLoop_4}{{SubLoop\textsubscript{4}}}8
116 {sub_4}{{sub\textsubscript{4}}}4
117 {Neg_4}{{Neg\textsubscript{4}}}4
118 {NegLoop_4}{{NegLoop\textsubscript{4}}}8
119 {neg_4}{{neg\textsubscript{4}}}4
120 {Ext_4}{{Ext\textsubscript{4}}}4
121 {eval_g}{{eval\textsubscript{g}}}5
122 {Eval_g}{{Eval\textsubscript{g}}}5
123 {Print_g}{{Print\textsubscript{g}}}6
124 {print_g}{{print\textsubscript{g}}}6
125 {opt_g}{{opt\textsubscript{g}}}4
126 {Opt_g}{{Opt\textsubscript{g}}}4
127 {HasEval_g}{{HasEval\textsubscript{g}}}8
128 {getEval_g}{{getEval\textsubscript{g}}}8
129 {EvalDict_g}{{EvalDict\textsubscript{g}}}9
130 {HasPrint_g}{{HasPrint\textsubscript{g}}}9
131 {getPrint_g}{{getPrint\textsubscript{g}}}9
132 {PrintDict_g}{{PrintDict\textsubscript{g}}}{10}
133 {HasOpt_g}{{HasOpt\textsubscript{g}}}7
134 {getOpt_g}{{getOpt\textsubscript{g}}}7
135 {OptDict_g}{{OptDict\textsubscript{g}}}8
136 {OptPrintDict_g}{{OptPrintDict\textsubscript{g}}}{14}
137 {OPD_g}{{OPD\textsubscript{g}}}4
138 {Expr_g}{{Expr\textsubscript{g}}}5
139 {Lit_g}{{Lit\textsubscript{g}}}4
140 {Add_g}{{Add\textsubscript{g}}}4
141 {Sub_g}{{Sub\textsubscript{g}}}4
142 {SubLoop_g}{{SubLoop\textsubscript{g}}}8
143 {sub_g}{{sub\textsubscript{g}}}4
144 {Neg_g}{{Neg\textsubscript{g}}}4
145 {NegLoop_g}{{NegLoop\textsubscript{g}}}8
146 {neg_g}{{neg\textsubscript{g}}}4
147 {NotLoop_g}{{NotLoop\textsubscript{g}}}8
148 {Not_g}{{Not\textsubscript{g}}}4
149 {not_g}{{not\textsubscript{g}}}4
150 {EqLoop_g}{{EqLoop\textsubscript{g}}}7
151 {Eq_g}{{Eq\textsubscript{g}}}3
152 {eq_g}{{eq\textsubscript{g}}}3
153 {Ext_g}{{Ext\textsubscript{g}}}4
154 }