[Add Hat bug list to web documentation.
malcolm**20020613152703] {
addfile ./docs/bugs.html
hunk ./docs/bugs.html 1
+
Hat 2.00 Bugs and Limitations
+
+
+
+ 
+ Hat 2.00 Bugs and Limitations
+
+
+
+
+This is a list of all known bugs and limitations in Hat 2.00.
+There is also a wish-list of features
+that we would like to add to Hat.
+Please mail
+ hat@haskell.org
+to report any other problems you find.
+
+
hat-trans problems:
+
+
+- hat-trans does not handle source programs with (..) in export
+ or import lists.
+ Fixed in Hat 2.00
+- hat-trans output fails to compile if the source program
+ depends on defaults to resolve numeric types.
+- hat-trans suffers a pattern-match failure if the source
+ program has an empty import list.
+ Fixed in Hat 2.00
+- hat-trans can transform pattern bindings with newtype data
+ constructors incorrectly, duplicating variable definitions.
+ Fixed in Hat 2.00
+- hat-trans output can fail at link time if the arity
+ of source definitions or applications is large.
+- hat-trans output does not export selectors for field labels.
+ Fixed in Hat 2.00
+- Data constructions in a trusted context are hidden if their
+ components are unevaluated.
+- The grandparent of the subject expression in an if/case/guard
+ is recorded as its parent.
+ Not a bug.
+
+
+Run-time problems:
+
+
+- Programs that exhaust memory fail with no trace.
+
+
+Problems with viewing a trace
+
+General
+
+- Named fields are not traced at source level.
+- List comprehensions, do statements, and arithmetic ranges
+ are not traced at source level: they are recorded and displayed
+ in de-sugared form.
+- Super-saturated applications are not shown.
+- Traces involving pattern bindings may be incomplete.
+- The viewing tools display some lists misleadingly: when the tail
+ of a sugared list is cut off or undefined it is shown as if it
+ was a final element.
+- A cyclic structure can cause both hat-trail and hat-observe to
+ crash with head []. (Example program: Cycles)
+- Viewing tools can hang where a cycle in a graph of trusted computation
+ includes a projection. (Example program: FunMod)
+
+
+Hat-observe
+
+- hat-observe inappropriately lists trusted CAFs under :info and
+ allows observations of CAF values that should be hidden.
+- hat-observe :info counts may not match the number of observations
+ if there are partial or super-saturated applications. (Example program:
+ MixArity)
+- hat-observe may incorrectly show applications as distinct when
+ arguments include a cyclic structure. (Example program: Cycles)
+- ^C in a hat-observe window (to cut short a search) can shut
+ down a hat-trail window spawned from the same
+ hat-observe session.
+- After :set recursive off hat-observe shows the non-recursive
+ calls of f even if given the application pattern f in f.
+ (Exmaple program: ObsRec)
+- hat-observe report no match found given an application pattern
+ ... in c where c has a 0-arity definition, even it matching
+ applications do occur in c. (Example program: ObsInCaf)
+
+
+Hat-trail
+
+- Scrolling sometimes blanks the upper part of the display when
+ the trace is extended and is deeper than the window. (Example
+ program: BigExp)
+- If the output is empty, it cannot be selected.
+- The display can become corrupted if output or error message
+ from the traced program is wider than the display window.
+- The display can become corrupted if a single trail expression or
+ equation is large enough to scroll off the screen.
+
+
+Hat-detect
+
+- hat-detect is not currently included with the Hat browsing tools.
+
+- Only useable for computations that produce faulty output, not for
+ computations that abort with an error message or are interrupted.
+- Does not work correctly for programs that read input.
+
+
+
+
+This page last modified: 13th June 2002
+
}