[Update all documentation for 1.16 release. malcolm**20030307171136] { hunk ./docs/bugs.html 71 -
  • Fixed in CVS (Hat 2.01) +
  • Fixed in Hat 2.02 hunk ./docs/bugs.html 74 -
  • Fixed in CVS (Hat 2.01) +
  • Fixed in Hat 2.02 hunk ./docs/bugs.html 101 -
  • Fixed in CVS (Hat 2.01) +
  • Fixed in Hat 2.02 hunk ./docs/bugs.html 106 -
  • Fixed in CVS (Hat 2.01) +
  • Fixed in Hat 2.02 hunk ./docs/bugs.html 125 -
  • Fixed in CVS (Hat 2.01) +
  • Fixed in Hat 2.02 hunk ./docs/bugs.html 130 -
  • Fixed in CVS (Hat 2.01) +
  • Fixed in Hat 2.02 hunk ./docs/bugs.html 150 -This page last modified: 11th July 2002
    +This page last modified: 5th February 2003
    hunk ./docs/config.html 44 +
    hunk ./docs/download.html 13 -Please note that, beginning with version 2.00, Hat is no longer -distributed as part of the nhc98 compiler, but is completely -independent. +Please note that Hat is no longer distributed as part of the nhc98 +compiler, but is completely independent. hunk ./docs/download.html 17 -The latest stable release of Hat is 2.00, available in various +The latest stable release of Hat is 2.02, available in various hunk ./docs/download.html 20 -version 2.01 and is only available by CVS. +version 2.03 and is only available by CVS. hunk ./docs/download.html 40 + + Sources (.tar.gz) + any + 2.02 + 2003-02-xx + 1.5Mb + + hunk ./docs/download.html 59 -Alternative locations: +Alternative locations: hunk ./docs/download.html 61 -Tarfiles:
    +Tarfiles:
    hunk ./docs/download.html 64 - + hunk ./docs/download.html 66 -RPMs for RedHat:
    +RPMs for RedHat:
    hunk ./docs/download.html 71 -FreeBSD port:
    +FreeBSD port:
    hunk ./docs/download.html 74 +Debian packages:
    +
    +ftp://ftp.debian.org/debian/pool/main/h/hat/
    hunk ./docs/download.html 82 -Known to compile for at least the following machine/OS combinations:
    +Known to work with at least the following compilers:
    hunk ./docs/download.html 84 -ix86Linux, NetBSD, FreeBSD, OpenBSD - -ppcLinux - -sparcsolaris2, SunOS4 - -mipsIRIX5, Ultrix-4.5, [NOT IRIX6] - -power3AIX +nhc981.16 hunk ./docs/download.html 86 -pmaxNetBSD +ghc5.04.2 hunk ./docs/download.html 112 + + none + hat v2.02 + 2003-02-xx + There are no patches yet for hat-2.02. + + + + + hmake3.06 + hat v2.00 + 2002-10-14 + Enable hat-trans to build with the latest version of hmake (3.06). + + + hunk ./docs/download.html 136 - + hunk ./docs/download.html 145 - + hunk ./docs/download.html 165 + +http://www.haskell.org/hat/
    hunk ./docs/download.html 171 -This page last modified: 28th August 2002
    +This page last modified: 5th February 2003
    hunk ./docs/faq.html 47 -Currently a traced program runs between 50-200 times slower than +Currently a traced program runs between 50-150 times slower than hunk ./docs/faq.html 58 -Hat covers the complete Haskell 98 language and its libraries, or at -least that is the intention. It only supports a very few language -extensions, such as the FFI. First make sure that your program is -fully Haskell'98, and if it still won't compile, report it as a bug -in Hat. [ Check the Hat Feature -Summary to see exactly which parts of the language are missing, -and when you can expect them to be added. ] +Hat covers the complete Haskell 98 language and its libraries, or +at least that is the intention. It also supports a few language +extensions, such as the FFI, multi-parameter type class, functional +dependencies, and so on. First make sure that your program is suitable +for tracing with Hat [ check our Feature +Summary to see exactly which language extensions are supported ], +and if it still won't compile, report it as a bug in Hat. hunk ./docs/faq.html 74 -This page last modified: 11 June 2002
    +This page last modified: 5th February 2003
    hunk ./docs/feature-table.html 15 +

    +"Partial" support of a language feature means that you will +be able to trace programs using this feature, but that the traces +may not be in convenient source-level terms. Partial support of a +library or type-system feature means that some programs may +trace OK, but others might not. + hunk ./docs/feature-table.html 27 -Haskell'98
    vs. HatActual (2.00)Planned +featureHat (2.02) hunk ./docs/feature-table.html 30 -


    +
    hunk ./docs/feature-table.html 32 -Language constructs +Language constructs hunk ./docs/feature-table.html 34 -modules** +modules* hunk ./docs/feature-table.html 36 -lambda abstractions** +lambda abstractions* hunk ./docs/feature-table.html 38 -pattern matches** +pattern matches* hunk ./docs/feature-table.html 40 -guards** +guards* hunk ./docs/feature-table.html 42 -if-then-else** +if-then-else* hunk ./docs/feature-table.html 44 -case expr of** +case expr of* hunk ./docs/feature-table.html 46 -list comprehensions+* +list comprehensions+ hunk ./docs/feature-table.html 48 -monadic do+* +monadic do+ hunk ./docs/feature-table.html 50 -infix operators** +infix operators* hunk ./docs/feature-table.html 52 -numeric literals** +numeric literals* hunk ./docs/feature-table.html 54 -numeric sequences+* +numeric sequences+ hunk ./docs/feature-table.html 56 -n+k patterns** +n+k patterns* hunk ./docs/feature-table.html 59 -Basic types +Basic types hunk ./docs/feature-table.html 61 -Bool** +Bool* hunk ./docs/feature-table.html 63 -Char** +Char* hunk ./docs/feature-table.html 65 -List** +List* hunk ./docs/feature-table.html 67 -Tuples** +Tuples* hunk ./docs/feature-table.html 69 -Int** +Int* hunk ./docs/feature-table.html 71 -Integer** +Integer* hunk ./docs/feature-table.html 73 -Float** +Float* hunk ./docs/feature-table.html 75 -Double** +Double* hunk ./docs/feature-table.html 77 -Rational** +Rational* hunk ./docs/feature-table.html 80 -User types +User types hunk ./docs/feature-table.html 82 -data types** +data types* hunk ./docs/feature-table.html 84 -type synonyms** +type synonyms* hunk ./docs/feature-table.html 86 -newtypes** +newtypes* hunk ./docs/feature-table.html 88 -named fields+* +named fields* hunk ./docs/feature-table.html 90 -type classes** +type classes* hunk ./docs/feature-table.html 92 -derived instances** +derived instances* hunk ./docs/feature-table.html 94 -strict types** +strict types* hunk ./docs/feature-table.html 103 -Haskell'98
    vs. HatActual (2.00)Planned +featureHat (2.02) hunk ./docs/feature-table.html 106 -
    +
    hunk ./docs/feature-table.html 108 -Input/output +Input/output hunk ./docs/feature-table.html 110 -single I/O streams** +single I/O streams* hunk ./docs/feature-table.html 112 -file handling+* +file handling+ hunk ./docs/feature-table.html 115 -Libraries - -Prelude** - -Ratio** - -Complex** - -Numeric** +Libraries hunk ./docs/feature-table.html 117 -Ix** +Haskell'98 Prelude* hunk ./docs/feature-table.html 119 -Array** +Haskell'98 Libraries* hunk ./docs/feature-table.html 121 -List** +base hierarchical libraries+ hunk ./docs/feature-table.html 123 -Maybe** +other hierarchical libraries- hunk ./docs/feature-table.html 125 -Char** - -Monad** - -IO** + +Platform Portability hunk ./docs/feature-table.html 128 -Directory** +machine and O/S* hunk ./docs/feature-table.html 130 -System** +nhc98* hunk ./docs/feature-table.html 132 -Time** +ghc* hunk ./docs/feature-table.html 134 -Locale** +hugs- hunk ./docs/feature-table.html 136 -CPUTime** +hbc- hunk ./docs/feature-table.html 138 -Random** +helium- hunk ./docs/feature-table.html 141 -Platform Portability +Non-Haskell'98 Extensions hunk ./docs/feature-table.html 143 -machine and O/S** +primitive FFI* hunk ./docs/feature-table.html 145 -nhc98** +hierarchical library namespace* hunk ./docs/feature-table.html 147 -ghc** - - -Non-Haskell'98 Extensions +unsafePerformIO etc* hunk ./docs/feature-table.html 149 -primitive FFI** +multi-parameter TCs* hunk ./docs/feature-table.html 151 -IOExtras library-* +functional dependencies* hunk ./docs/feature-table.html 153 -multi-parameter TCs-* +existential types+ hunk ./docs/feature-table.html 155 -existentials-- +imprecise exceptions+ hunk ./docs/feature-table.html 157 -concurrency-- +concurrency- hunk ./docs/feature-table.html 159 -parallelism-- +parallelism- hunk ./docs/hat-trans.html 11 -source-to-source transformation on a single Haskell module. -The transformed module contains functions that deposit traces in a -.hat file, in addition to computing their original results. +source-to-source transformation on a single Haskell module, such +that the functions in the transformed module deposit traces in a +.hat file in addition to computing their original results. +

    +The transformed module is written to a file of the same name as the +original, but in a directory called Hat. If the directory +does not exist, hat-trans creates it. If the module is part of the +hierarchical namespace, then a single Hat 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 A.B.C, in a file named A/B/C.hs, +is transformed by hat-trans into a module called Hat.A.B.C, +stored in a file named Hat/A/B/C.hs. hunk ./docs/hat-trans.html 133 -This page last updated: 29th October 2002
    +This page last updated: 5th February 2003
    hunk ./docs/index.html 21 -

    Compliance with Haskell 98
    +
    Coverage of Haskell 98 + extensions
    hunk ./docs/index.html 124 -
    -Note, Hat is now portable: it works with both ghc and -nhc98 -
    +Hat is portable between compilers: it works with both +ghc and nhc98. It also supports various language +extensions, such as the FFI, multi-parameter type classes, functional +dependencies, and hierarchical module namespaces. hunk ./docs/index.html 333 -This page last modified: 2002.08.14
    +This page last modified: 5th February 2003
    hunk ./docs/install.html 31 -cd to the base directory (called hat-x.x, where the x's are the +cd to the base directory (called hat-x.xx, where the x's are the hunk ./docs/install.html 68 -nhc98. You cannot currently build or use hat with hbc. +nhc98. You cannot currently build or use hat with hugs, +hbc, or Helium. hunk ./docs/install.html 134 -This page last modified: 2002.06.14
    +This page last modified: 5th February 2003
    hunk ./docs/libraries.html 11 +

    Standard Libraries

    hunk ./docs/libraries.html 18 + +

    Extension Libraries

    hunk ./docs/libraries.html 21 -No other extension libraries (such as those in the GHC hslibs -collection) are yet supported by default, in particular, neither -the commonly used IOExts nor Foreign. +Hat also supports some of the extension libraries supplied with +more recent versions of GHC, nhc98, and Hugs. These are the +hierarchical libraries in the base package. +Actually only a subset of the base package is currently available in +Hat, but it includes most of the really useful and common extensions, +such as the FFI libraries, IORefs, and unsafePerformIO. A full list +is below. + + + + + + + + + + + + + + + + + + + + + + +
    supportedunsupported
    + Control.Arrow
    + Control.Monad
    + Control.Monad.Fix
    + Control.Concurrent
    + Control.Concurrent.*
    + Control.Exception
    + Control.Exception.*
    + Control.Monad.*
    + Control.Parallel
    + Control.Parallel.*
    + Data.Array
    + Data.Bits
    + Data.Bool
    + Data.Char
    + Data.Complex
    + Data.Either
    + Data.FiniteMap
    + Data.IORef
    + Data.Ix
    + Data.List
    + Data.Maybe
    + Data.Ratio
    + Data.Set
    + Data.Tuple
    + Data.Array.*
    + Data.Int
    + Data.Generics
    + Data.Dynamic
    + Data.PackedString
    + Data.STRef
    + Data.STRef.*
    + Data.Unique
    + Data.Word
    + Debug.Trace + Debug.QuickCheck
    + Debug.QuickCheck.*
    + Foreign.ForeignPtr
    + Foreign.Marshal.Error
    + Foreign.Ptr
    + Foreign.StablePtr
    + Foreign.Storable
    + Foreign.C
    + Foreign.C.Error
    + Foreign.C.String
    + Foreign.C.Types
    + Foreign.C.TypesISO
    + Foreign.Marshal.Alloc
    + Foreign.Marshal.Array
    + Foreign.Marshal.Utils
    + Foreign.Marshal.Pool
    + System.CPUTime
    + System.Console.GetOpt
    + System.Cmd
    + System.Directory
    + System.Environment
    + System.Exit
    + System.IO
    + System.IO.Error
    + System.IO.Unsafe
    + System.Info
    + System.Locale
    + System.Random
    + System.Time
    + System.Mem
    + System.Mem.StableName
    + System.Mem.Weak
    + System.Posix.Signals
    + System.Posix.Types
    + Text.ParserCombinators.Parsec
    + Text.ParserCombinators.Parsec.Error
    + Text.ParserCombinators.Parsec.Char
    + Text.ParserCombinators.Parsec.Combinator
    + Text.ParserCombinators.Parsec.Expr
    + Text.ParserCombinators.Parsec.Pos
    + Text.ParserCombinators.Parsec.Prim
    + Text.PrettyPrint
    + Text.PrettyPrint.HughesPJ
    + Text.Read
    + Text.Show
    + Text.Html
    + Text.Html.BlockTable
    + Text.ParserCombinators.Parsec.Language
    + Text.ParserCombinators.Parsec.Perm
    + Text.ParserCombinators.Parsec.Token
    + Text.ParserCombinators.ReadP
    + Text.ParserCombinators.ReadPrec
    + Text.Read.Lex
    + Text.Regex
    + Text.Regex.Posix
    + Text.Show.Functions
    hunk ./docs/libraries.html 142 + +

    Your Own Libraries

    hunk ./docs/libraries.html 149 -itself is implemented in pure Haskell'98. If you trust that the -library is correct and do not wish to trace its internal calls, -then you can give the flag -trusted to hat-trans -(for that library alone). +itself is implemented exclusively in the superset of Haskell'98 +supported by Hat. If you trust that the library is correct and do +not wish to trace its internal calls, then you can give the flag +-trusted to hat-trans (for that library alone). + hunk ./docs/libraries.html 155 +

    Future improvements

    hunk ./docs/libraries.html 157 -We have ideas for the future whereby a library can be used in its -original form without needing re-compilation for tracing, but for -the moment that remains a dream. However, we do plan to support -at least some of the hslibs library collection explicitly (by -transforming them) within the hierarchical module namespace that -will soon ship with both ghc and nhc98. +We have ideas for the future whereby a library can be used in +its original form without needing re-compilation for tracing. +We sometimes refer to this idea as wrapping a library, as +opposed to the current method of lifting the library source +code by transformation. However, for the moment library-wrapping +remains a dream. hunk ./docs/libraries.html 167 - -http://www.cs.york.ac.uk/fp/nhc98/ + +http://www.haskell.org/hat/ hunk ./docs/libraries.html 171 -2002.06.11
    +This page last updated: 30th January 2003
    hunk ./docs/requirements.html 17 -correctly with Hat. +correctly with Hat-2.02. hunk ./docs/requirements.html 20 - +
    hunk ./docs/requirements.html 23 - - - + + + hunk ./docs/requirements.html 43 -(We don't know about MacOS X either, but it might be rather easier -to find a replacement for xterm there.) +(For MacOS X, you should install the Apple XFree86 server, or an +equivalent, to be able to use xterm.) hunk ./docs/requirements.html 87 -This page last modified: 2002.08.15
    +This page last modified: 5th February 2003
    hunk ./docs/status.html 13 -The latest stable release is 2.00. The CVS development tree is now -at version 2.01. Bugfixes and important changes to the system are +The latest stable release is 2.02. The CVS development tree is now +at version 2.03. Bugfixes and important changes to the system are hunk ./docs/status.html 20 -

    Hat 2.01 (CVS version) features

    +

    Hat 2.02 (2003-02-xx) features

    hunk ./docs/status.html 22 -
  • Tidyup: For consistency, the :observe command within hat-observe now - starts a fresh hat-observe window. Also, in hat-trail, if - if you give a query pattern to the :observe command, it now uses - that as the first query, instead of the currently highlighted - function. -
  • Bugfix: hat-trail now works correctly in environments (e.g. Solaris) - that do not have stty cbreak mode. +
  • New: Hat supports hierarchical module namespaces, and + the distribution includes a tracing version of the + base package of standard hierarchical libraries. +
  • New: Hat supports multi-parameter type classes and functional + dependencies, provided your underlying compiler supports them + (i.e. ghc). +
  • New: The browsing tools support qualified name syntax. +
  • Performance: The speed of traced programs is now much improved. There + is a new "known-arity" optimisation within Hat itself, which + gives a speed-up of ~20-40%. Also, if you use --buildwith=-O + when building Hat with ghc, you will get another 20-40% + improvement. Beware however that -O requires a lot + of memory (≥512Mb). hunk ./docs/status.html 47 +
  • Bugfix: hat-trail now works correctly in environments (e.g. Solaris) + that do not have stty cbreak mode. hunk ./docs/status.html 57 +
  • Tidyup: For consistency, the :observe command within hat-observe now + starts a fresh hat-observe window. Also, in hat-trail, if + if you give a query pattern to the :observe command, it now uses + that as the first query, instead of the currently highlighted + function. }
  • ghc5.00 (but not 5.04)
    nhc981.14
    hmake3.05
    ghc5.04.2
    nhc981.16
    hmake3.07