The future of Haskell discussion

kahl@heraklit.informatik.unibw-muenchen.de kahl@heraklit.informatik.unibw-muenchen.de
12 Sep 2001 12:37:25 -0000


Olaf Chitil <olaf@cs.york.ac.uk> summarised the 10 minute talks
of this years Haskell workshop, including my presentation:
 
> Wolfram Kahl: Animating Haskell by Term Graph Rewriting
> HOPS is a system for term graph rewriting that can also show the
> rewriting steps in a graphical animation. [...]

For clarification, a few core points:

* I have a GHC extension, called MHA (for ``Munich Haskell Animator'')
  that automatically converts programs written in a subset of Haskell
  into HOPS modules. This is not yet publicly available,
  but this may change in the future. Contact me if interested.

* Animation in HOPS can show every intermediate step,
  but it is also possible to show only a selection,
  currently by the module where the applied rules reside.

  On a 1.2GHz Athlon, I currently get up to over 1000 raw rule applications
  per second, and around 10 graph drawings per second, so
  striking some reasonable balance can be quite helpful.

  The current version of HOPS awaits mostly a thorough documentation
  update for release.

  The HOPS home page is: http://ist.unibw-muenchen.de/kahl/HOPS/

* Currently HOPS implements only one evaluation strategy,
  namely leftmost outermost graph rewriting with sharing preservation
  (without automatic sharing maximisation).
  With the standard rules in place, this corresponds
  to the original definition of lazy evaluation
  (also known as the ``D-rule''), which is different
  from the lazy pattern matching evaluation
  of sequential Haskell implementations.

  Naive translations can therefore yield inappropriate results,
  and for some Haskell programs this is still the case
  in the current version.
  Therefore, you have to understand the translation
  in order to be sure that what you see corresponds to
  what happens in the Haskell implementation.

  I hope to release MHA only after I have addressed this issue better
  than in the current version.

* For a variety of reasons, I would tend to say that the HOPS/MHA approach
  is really not very similar to GHood. Some of them may already
  be apparent from the above, others would go into more detail
  then I intend to do in this message.


Best regards,

Wolfram