[Add more information about known bugs and problems. malcolm**20020315172238] { addfile ./docs/bugs-tools.html hunk ./docs/bugs-tools.html 1 +Bugs in Hat Tools + +
+ +
+

Hat Tools:

+

bugs and wish-list

+
+
+ +

+This is a fuller list of bugs and wishes for +the prototype tracing browsers in Hat. +(There is also an overview page, +and a more detailed page for the trail-building +compiler.) +Please mail us at + ART-team@cs.york.ac.uk +with any other bugs or wishes. + +

Bugs in hat-trail

+

+

    +
  • Display blanking. + The upper part of the display is blanked when the current expression + causes previous expressions to scroll upwards, and the topmost + expression is not exactly at the start of the page. + (Test case: trace back recursive calls of player' in Adjoxo.) +
  • Indirections. Sometimes handled incorrectly? + (Test case: Olaf to supply.) +
+ +

Wishes in hat-trail

+

+

    +
  • Interrupted evaluation. + Distinguish this case from undefined. Display as + redex = {interrupted} not redex = _|_. +
  • String and list navigation. + [ and ] to become commands to move forward/backward to next/previous + list element (implicit user claim that current selection is within a + list). +
  • Selection and sharing. + There should always be exactly one selected expression, clearly + indicated by a unique form of highlighting. Thus, (1) the highlight + should never vanish, and (2) there should not be multiple highlighting. + [MAYBE: options to show sharing (1) in same redex/equation, or + (2) everywhere, by a different form of highlighting.] +
  • Dependent source browsers. + Should be closed when user quits hat-explore. Could usefully allow + scrolling to see wider context. + [MAYBE ONE DAY: extend source highlight to show entire expression or + definition, not just its starting point.] +
+ +

Bugs in hat-observe

+

+

    +
  • Bogus reductions. + Sometimes equations with identical LHS and RHS are shown: + eg. observe reduceAll in TableauRefac v.3. + (May be a problem of unknown arities and partial applications, + more easily fixed with the new .hat format.) +
  • Application of the same function to two (separate but?) + identical cyclic structures causes an infinite loop because + of processing to find unique most general representatives. +
+ +

Wishes in hat-observe

+

+

    +
  • Identifier Info. + The :info command should also show for each listed name a count + SAT-C (+ SAT-B): eg. 173 (+ 2), or 0 (+ 3), but simplifying + 64 (+ 0) to 64 and discarding items with 0 (+ 0) counts +
  • Patterns/equations after 'in'. + Permit a pattern and/or equation on the RHS of 'in'. For example, + observe f _ = True in g _ = False. +
  • Observing constructors. + Should be possible -- for example, to check invariants respected. + Corollaries: (1) hat-observe should also have an = toggle which is + always toggled off for constructor observations (and restored + to its previous state afterwards); (2) there should be a command + analogous to i for constructors (an I command would be mnemonic + because of the upper-case convention for constructors). +
  • Local observations. + There could be an option (with suitable warning) to include + locally-defined names among the observables. Not all depend on + free variables anyway. Locals should perhaps be tagged in some + way in the i listings (name in { }?). + [MAYBE ONE DAY: support full observation of locals with context + of free-variable bindings in .hat file. Add refs to static parent + names in local name nodes; extend local argument lists to include + free variables defined within top-level parent's (and name entries + for these variables).] +
  • Families of bservations. + [MAYBE: option to group observations with a common source for + the application?] +
  • Separated observations. + The user may want to observe each separate application (rather than + unique most general representatives) because different applications + have different contexts (if explored) and/or may have different + unevaluated expressions beneath _'s. + (The 'xu' flag is an unsafe and incomplete solution: it is not a + first-class option and needs arity info to be correct.) +
+ +

Bugs in hat-detect

+

+

    +
  • hat-detect does not find calls to untrusted functions within trusted + functions unless they are reachable from SAT for the trusted application. + (Eg. calls of a filter predicate.) + Fix requires a linear scan to find relevant untrusted applications, + assuming accurate trustedness info in the .hat file -- Olaf says it + should be "perfect" using the new portable transformation! +
  • hat-detect does not work for interrupted or failing computations. + The new .hat format will make it easy to remedy this defect, but + meanwhile a linear search could again provide a solution. +
+ +

Wishes in hat-detect

+

+

    +
  • A free navigation mode, to browse the full call-graph of the + computation. As a small start: a command to list the immediate + EDT children of the current equation. +
+ +

General bugs

+

+

    +
  • Haskell 98 gaps or bitterness: n+k, comprehensions, do-notation, etc. +
+ +

General wishes

+

+

    +
  • Merge pretty-printers for all tools to ensure consistency. +
  • Put arity information into .hat files (even before new format)? +
  • All tools to support changes in width of display window (ideally + with automatic response, but at least after :resize). +
  • Tools should compare creation/modification times of sources, executable, + trace and recorded output, and warn of apparent anachronisms. +
  • CAFs defined by higher-order expressions such as composition chains + do not trace nicely (eg. one has to 'observe' inner calls before one can + 'explore' them -- and even 'observe' may not reach them). + Also, trusted CAFS (eg. Prelude functions such as reverse) give only + the single observation of the CAF reduction, not applications. + [MAYBE: de-CAF Prelude functions? Introduce "quasi-trusted" functions + such as composition? (Cannot just make it untrusted or else all + compositions within the Prelude would be recorded too.)] +
  • A "hat" tool that co-ordinates calls of specialised tools and keeps + track of dependent windows etc. +
  • [MAYBE: Readline functionality in command-based tools.] +
  • Some people would like to animate reductions forwards rather than + trace them backwards. + [MAYBE ONE DAY: hat-animate when we have the new .hat format.] +
  • Further tools for call-graph, data-flow and black-hole tracing. +
  • Even faster construction of traces. +
+ +
+

+This page last modified: 15th March 2002. +
+ +

+ + hunk ./docs/limitations.html 1 -Hat 1.4 Bugs and Limitations +Hat 1.12 Bugs and Limitations hunk ./docs/limitations.html 20 - hunk ./docs/limitations.html 25 -
Very rarely, the compiler fails with No match in -_dCaf.
+
Very rarely, the compiler fails with No match in _dCaf.
+ +
More details about compile-time problems are listed + here.
hunk ./docs/limitations.html 80 +
More details about browser bugs and wishes are listed + here.
+ hunk ./docs/limitations.html 85 -This page last modified: 8 Mar 2002
+This page last modified: 15 Mar 2002
}