File: hat-trans.html

package info (click to toggle)
hat 2.05%2Brerolled-7
  • links: PTS, VCS
  • area: main
  • in suites: lenny
  • size: 9,316 kB
  • ctags: 1,077
  • sloc: haskell: 74,306; ansic: 9,588; sh: 1,770; makefile: 597
file content (137 lines) | stat: -rw-r--r-- 4,345 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>hat-trans reference guide</title></head>
<body bgcolor=#ffffff>
<table><tr><td width=500>

<center><h1>hat-trans reference guide</h1></center>

<hr>

<p>
<b>hat-trans</b> is a stand-alone program that performs a
source-to-source transformation on a single Haskell module, such
that the functions in the transformed module deposit traces in a
<em>.hat</em> file in addition to computing their original results.
<p>
The transformed module is written to a file of the same name as the
original, but in a directory called <tt>Hat</tt>.  If the directory
does not exist, hat-trans creates it.  If the module is part of the
hierarchical namespace, then a single <tt>Hat</tt> directory is created
at the root of the tree, and it is populated with new directories
corresponding to the remainder of the hierarchy.  For instance, a
module called <tt>A.B.C</tt>, in a file named <tt>A/B/C.hs</tt>,
is transformed by hat-trans into a module called <tt>Hat.A.B.C</tt>,
stored in a file named <tt>Hat/A/B/C.hs</tt>.

</td></tr></table>

<table width=500>
<tr><td valign=top>
<p>
<b>File arguments.</b>

<table width=250><tr>
<td valign=top><em>.hs</em></td>
  <td>Haskell source file</td>
</tr><tr>
<td valign=top><em>.lhs</em></td>
  <td>literate Haskell source file</td>
</tr></table>

</td><td valign=top>
<p>
<b>Flags.</b>

<table width=250><tr>
<td valign=top><em><b>-I</b>dir</em></td>
  <td>search directory <em>dir</em> for imported modules during transformation.
      (hat-trans actually looks for the <em>.hx</em> file generated by a
      prior invocation of hat-trans, rather than the source module itself.)</td>
</tr><tr>
<td valign=top><em><b>-P</b>dir</em></td>
  <td>search directory <em>dir</em> for prelude and stdlib modules during
      transformation</td>
</tr><tr>
<td valign=top><em><b>+RTS</b></em></td>
  <td>the following options (up to <em><b>-RTS</b></em>) should be passed only
      to hat-trans's runtime system
      (for instance to increase its heap size for processing a large file)</td>
</tr></table>

</table>


<table width=500>
<tr><td valign=top>
<p>
<b>Options to change the usual transformation behaviour.</b>

<table width=250><tr>
<td valign=top><em><b>-unix</b></em></td>
  <td>Use unix filenames (default)</td>
</tr><tr>
<td valign=top><em><b>-nounix</b></em></td>
  <td>Use RiscOS filenames</td>
</tr><tr>
<td valign=top><em><b>-unlit</b></em></td>
  <td>Unliterate the source code</td>
</tr><tr>
<td valign=top><em><b>-nounlit</b></em></td>
  <td>Do not unliterate the source code (default)</td>
</tr><tr>
<td valign=top><em><b>-underscore</b></em></td>
  <td>Treat underscores strictly as lowercase (default)</td>
</tr><tr>
<td valign=top><em><b>-nounderscore</b></em></td>
  <td>Treat underscores as invisible, e.g. _f is varid, _F is conid</td>
</tr><tr>
<td valign=top><em><b>-prelude</b></em></td>
  <td>Treat prelude definitions specially</td>
</tr><tr>
<td valign=top><em><b>-noprelude</b></em></td>
  <td>Do not treat definitions specially (default)</td>
</tr><tr>
<td valign=top><em><b>-trusted</b></em></td>
  <td>make this a "trusted" module</td>
</tr><tr>
<td valign=top><em><b>-notrusted</b></em></td>
  <td>make this an "untrusted" module (default)</td>
</tr></table>

</td><td valign=top>
<p>
<b>Options to examine the internal progress of the transformation.</b>

<table width=250><tr>
<td valign=top><em>-<b>showwidth=</b>w</em></td>
  <td>set width in characters of output of an intermediate syntax tree
      to <em>w</em> (default=80)</td>
</tr><tr>
<td valign=top><em>-<b>showindent=</b>i</em></td>
  <td>set indentation in characters for nesting of output of an intermediate
      syntax tree to <em>i</em> (default=2)</td>
</tr><tr>
<td valign=top><em>-<b>showqualified</b></em></td>
  <td>use qualified names in output of intermediate syntax tree
  (default=on)</td>
</tr><tr>
<td valign=top><em><b>-lex</b></em></td>
  <td>show lexical input</td>
</tr><tr>
<td valign=top><em><b>-parse</b></em></td>
  <td>show syntax tree after parser</td>
</tr><tr>
<td valign=top><em><b>-tracefns</b></em></td>
  <td>show syntax tree after tracing translation</td>
</tr></table>

</td></tr></table>

<table><tr><td width=500>

<hr>
<p>
This page last updated: 5th February 2003<br>
</td></tr></table>
</body></html>