[A bunch of new documentation for Hat 2.00. malcolm**20020613084736] { addfile ./docs/config.html addfile ./docs/copyright.html addfile ./docs/download.html addfile ./docs/install.html addfile ./docs/libraries.html addfile ./docs/publications.html addfile ./docs/requirements.html addfile ./docs/status.html hunk ./docs/config.html 1 +
+
+![]() + Configuring hat++ + +The automatic configuration and installation utility, called +configure, should always be used to prepare for building and +installing hat. Unlike many configuration utilities, this +one can be run safely at any time to change any options - it will never +leave your system in an inconsistent state. + + +You can choose your own configuration options, +but the default behaviour is to prepare to build the components of +hat under the +targets directory, and to install those components under +/usr/local, in the subdirectories bin (for scripts), +lib/hat (for executables and libraries), +include/hat (for Hat interface files), and +man/man1 for man pages. + + +Your machine/operating-system is detected and used during building +and installation to ensure that object files and executables from +different architectures do not interfere with each other. We search +for an existing installation of a Haskell compiler, and hmake, +and configure the build system to use them. We also guess which +compiler you will use to build hat - in order of preference: +ghc, then nhc98. + + +configure has many options to override the default build and +installation behaviours. The options fall into three categories, but +they may appear in any order on the command-line. The first group of +options controls what task configure will do. You can only +choose one of these - if you choose more than one, only the final one +will take effect. The other two groups of options are cached and +re-used in later invocations of configure, but you can always +override them on the current commandline. + +
+The second and third group of options control the configuration process +and are entirely orthogonal to each other. The second group configures +some general settings. + +
+Finally, the third group of options allows you to select which +components of the package you wish to install. They can be useful when +installing the same software for many architectures on a heterogeneous +network, if you don't want to continually re-install shared components +such as man pages. As another example, you may want to update just the +scripts from a new beta release, without re-installing the executables. + +
+ +The latest updates to these pages are available on the WWW from + +http://www.cs.york.ac.uk/fp/hat/ + +
+This page last modified: 2002.06.11 |
+
+![]() Hat copyright information++ + +Development of the Hat tracing system was mainly funded by the UK's +Engineering and Physical Sciences Research Council, grant number +EPSRC GR/M81953. The University of York, RWTH Aachen, and Microsoft +Research (Cambridge) also contributed. + + +The source code of the hat-trans program is copyright © +Olaf Chitil and Malcolm Wallace, 2000-2002. Part of this tool is +based on the front end of the nhc98 compiler, and those parts +are copyright © Niklas Röjemo, 1991-1998. Parts are also +based on earlier work on tracing transformations, copyright © +Jan Sparud and Colin Runciman, 1996-1997. + + +The hat-observe, hat-detect, and hat-trail +browsing tools are copyright © Malcolm Wallace and Olaf Chitil, +2001-2002. The hat-observe and hat-detect browsing +tools are based on earlier tools of the same name, copyright © +Thorsten Brehm, 2001. + + +The hat-stack tool is copyright +© Malcolm Wallace, 2001-2002. + + +The hat-check tool is copyright +© Colin Runciman and Malcolm Wallace, 2001-2002. + + + + LICENCE++It is the intention that this software be "freely available" in the Gnu +(http://www.gnu.org/) +and Open Source +(http://www.opensource.org/) +traditions. +The following is a brief statement of the rights and restrictions +attached to this software distribution. It is a preliminary licence; we +may modify the terms and conditions at a later date. Any successor to +this licence may, when published, be applied to this software as an +alternative to the current terms, if you wish. + + +If you are not sure about any of the terms of this licence, +please contact us to discuss your requirements. (Primary contact: +Malcolm.Wallace@cs.york.ac.uk) + + +You may use, re-distribute, and modify this software, but you must not +alter or remove these copyright notices. You may add your own +additional copyright notices for any modifications to this software that +you distribute. (Any modifications must be provided - at least - in +source form, must be described in the documentation, and you must +clearly indicate that the software has been modified, for instance by +changing the name of the executable or its version number, or by some +other method.) + + +You must not restrict anyone else's rights to use, re-distribute or +modify this software. Distributions of standard or modified versions of +this software must retain this licence (or its successor). + + +In addition, you are explicitly granted the right to re-use parts of this +software in the creation of new software, without having to place the +new software under this or any other licence, provided that: +
+Programs, object files, and intermediate files produced as output by +this software do not fall under this copyright statement and are not +governed by the terms of this licence. You are free to use them (or +restrict their use) as you like. + + +UNLESS OTHERWISE STATED IN WRITING, THIS SOFTWARE IS SUPPLIED "AS IS" +AND WITHOUT ANY WARRANTY, EXPRESS OR IMPLIED, INCLUDING WITHOUT +LIMITATION THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A +PARTICULAR PURPOSE. NEITHER THE AUTHORS, COPYRIGHT HOLDERS, NOR ANY +OTHER PARTY WHO REDISTRIBUTES THIS SOFTWARE SHALL BE LIABLE FOR DAMAGES, +HOWSOEVER CAUSED, ARISING OUT OF THE USE OF THIS SOFTWARE. USE AT YOUR +OWN RISK. + + + +The latest updates to these pages are available on the WWW from + +http://www.cs.york.ac.uk/fp/hat/ + +
+2002.06.11 |
+
+![]() + Hat download page++ + +Please note that, beginning with version 2.00, Hat is no longer +distributed as part of the nhc98 compiler, but is completely +independent. + + +The latest stable release of Hat is 2.00, available in various +distribution formats (listed below). Important patches for the +stable version are also provided. The development tree is at +version 2.01 and is only available by CVS. +Bugfixes and important changes to the system are described in the release notes for each version. + + +Don't forget to read the system requirements, +first, and then the installation instructions. + + + + + Distribution packages+ ++
+Alternative locations:
+ + + + +
+ + +All the documents available on the web are included in the source package. +(* Please note that options/instructions for out-of-date packages +may differ slightly from the ones on the web. Always follow the +instructions from the package itself.) + +
+The installation instructions should
+be comprehensive, but if you have any problems, please mail
+hat@haskell.org.
+(You do not need to be a member of the list to post to it.)
+
+ + Patches+
+ + + + +The latest updates to these pages are available on the WWW from + +http://www.cs.york.ac.uk/fp/hat/ + +
+This page last modified: 2002-06-11 |
-This not-very-informative message actually means you have used an
-(n+k) pattern in a definition. The tracing compiler doesn't
-yet handle (n+k) patterns correctly. We hope to fix this soon,
-but in the meantime you will have to rewrite your program by hand
-to avoid this construct.
-
hunk ./docs/faq.html 74
-This page last modified: 21 May 2001
+This page last modified: 11 June 2002
hunk ./docs/feature-table.html 20
-
+ + |
hunk ./docs/index.html 31
+ +
What is Hat?+ |
hunk ./docs/index.html 47
-Hat is a source-level tracer for Haskell. It is a tool that gives
-the user access to otherwise invisible information about a computation.
+ +
What is it good for?+ |
hunk ./docs/index.html 76
-Hat helps locating errors in programs. Furthermore, it is useful for
-understanding how a (correct) program works, especially for teaching
-and program maintenance. Hat is not a time or space profiler.
+ + How does it work?+ |
hunk ./docs/index.html 89
-Tracing a program with Hat consists of two phases: First the specially
-compiled program runs as normal, except that additionally a trace is
-written to file. Second, after the program has terminated, the trace
-is viewed with a tool.
+ + | + + |
+If you have any problems, please send a message to the +mailing list at hat@haskell.org. + +
+Hat is a source-level tracer for +Haskell 98, the +standard lazy functional programming language. Hat is a tool that +gives the user access to otherwise invisible information about a +computation. + +
+
-You can help us to make Hat a valuable tool for all programmers. Give us -feedback! Starting with bug reports you can tell us what you consider -as Hat's major deficiencies and which improvements would benefit you -most. Thus you may influence our priorities and contribute new ideas. - -
-We are especially looking for medium sized programs (300-3000 lines)
-for testing and evaluating Hat. Please
-contact us if you want to
-contribute a program.
-
-
-
-Mailing lists
-
-Because Hat is currently part of nhc98, the nhc mailing lists are the forum for discussing Hat.
-
- -
-Different tracing systems for Haskell give different views of a program
-at work. In practice, several views are complementary and can productively be
-used together. Until now each system has generated its own trace,
-containing only the information needed for its particular view.
-Here we present the design of a trace that can serve several views.
-The trace is generated and written to file as the computation proceeds.
-We have implemented both the generation of the trace and several
-different viewers.
-
Postscript (106 KB)
-
- - -
-In this paper we compare three systems for tracing and debugging Haskell programs: Freja, Hat and Hood.
-We evaluate their usefulness in practice by applying them to a number of moderately complex programs in which errors had deliberately been introduced. We identify the strengths and weaknesses of each system and then form ideas on how the systems can be improved further.
-Postscript (84 KB)
-
-
-