H. John Reekie (firstname.lastname@example.org)
Research Report 94.5,
Key Centre for Advanced Computing Sciences,
University of Technology, Sydney,
PO Box 123,
Broadway NSW 2007,
Note: A more recent version of this work (the ``second attempt'') is contained in Chapter 4 of my thesis. I'm in the process of generating a stand-alone report; email me if interested.
This paper presents the Visual Haskell language. Visual Haskell is intended as i) a means of visualising Haskell programs, and ii) as a complementary programming notation to standard Haskell. The syntax of Visual Haskell is specified by first giving a translation from Haskell into an intermediate, textual form; the visual syntax is then specified as a direct translation from the intermediate form into visual representations. Visual Haskell is kept as close to Haskell as possible, in the hope that it could be used in a ``two-view'' programming system. Several examples of function definitions illustrate how Visual Haskell looks and is used.
Visual Haskell is incomplete, lacking syntax for modules, type declarations, type classes and instances, arrays, and user-defined operators. These are seen as temporary omissions rather than insurmountable drawbacks.