---
name: "hat-anim"
section: "1"
platform: "linux"
package: "hat"
version: "2.05+rerolled-7+b1"
release: "Debian 5.0 (Lenny)"
platforms: ["linux"]
url: "https://new.carta.tech/hat-anim"
---

# hat-anim(1)

animate the reduction of an expression

## NAME

hat-anim - animate the reduction of an expression

## SYNOPSIS

**hat-anim** prog\[.hat\] num

## DESCRIPTION

*hat-anim* is an interactive tool for exploring the forward reduction of a given Haskell program *prog* supplied as its first argument.  The second argument *num* is an index into the Hat trace file, telling it where to begin. Since you are unlikely to find a good starting point by guessing a random number, we recommend you start hat-anim from within one of the other hat tools, first choosing the relevant expression, then issuing the :anim command.

Exploration proceeds *forwards,* starting with the given expression, and at each step (press the space bar) it shows the next reduction.

## INTERACTIVE COMMANDS

The following multi-letter commands are available.  They each begin with a colon, bringing a visible command-line to the bottom of the screen.  A command can be abbreviated to its shortest non-ambiguous prefix.

- **:quit**

  Exit the interactive tool.

- **:help \[cmd\]**

  Shows help text giving an overview of the commands available, or if a command name *cmd* is given, shows more detailed help about that command.

- **:set \[flag\]**

  With no argument, shows all current mode settings.  Given an argument, it changes that mode and reports the new setting.  The flag argument is one of:

- uneval \[on\|off\]

  show unevaluated expressions in full (default off)

- strSugar \[on\|off\]

  sugar character strings (default on)

- listSugar \[on\|off\]

  sugar lists (default on)

- qualified \[on\|off\]

  show all identifiers qualified (default off)

- equations \[on\|off\]

  show rhs of equations (default off)

- srcrefs \[on\|off\]

  show source reference of currently selected expression in the top bar (default on)

- cutoff n

  cut-off depth for deeply nested exprs (default 10)

- **:+\[n\]**

  Short-cut to increase the cutoff depth by \<n\> (default 1)

- **:-\[n\]**

  Short-cut to decrease the cutoff depth by \<n\> (default 1)

- **:source**

  Shows (in a separate window) the source code for the application usage currently highlighted.

- **:Source**

  Shows (in a separate window) the source code for the function definition currently highlighted.

- **:detect**

  Start the hat-detect browser in a new window, beginning with the currently selected expression.

- **:trail**

  Start another hat-trail browser in a new window, beginning with the currently selected expression.

- **:observe \[query\]**

  With no argument, an interactive hat-observe window is started with the function part of the currently selected expression used as the initial query.  Given a query argument, the new window starts with a search for the given expression pattern before giving an interactive prompt.

- **:resize**

  After resizing a window, use this command to inform the tool to detect the change in size, so that pretty-printing can fit the screen.

## FILES

- **/usr/bin/hat-anim**

  ## SEE ALSO

[hmake(1)](/hmake/1.md), [hat-trans(1)](/hat-trans/1.md), [hat-stack(1)](/hat-stack/1.md), [hat-observe(1)](/hat-observe/1.md), [hat-detect(1)](/hat-detect/1.md)
