Difference between revisions of "Tying the Knot"

From HaskellWiki
Jump to: navigation, search
Line 7: Line 7:
== Download the Files ==
== Download the Files ==
* [[Image:Interp1.lhs|Direct Recursion]]
* [[Media:Interp1.lhs|Direct Recursion]]
* [[Image:Interp2.lhs|Tying the Knot]]
* [[Media:Interp2.lhs|Tying the Knot]]
* [[Image:Interp3.lhs|Tying the Knot with GADTs]]
* [[Media:Interp3.lhs|Tying the Knot with GADTs]]

Revision as of 22:33, 10 January 2007


This example illustrates different ways to define recursive data structures. To demonstrate the different techniques we show how to solve the same problem---writing an interpreter for a simple programming language---in three different ways. This is a nice example because, (i) it is interesting, (ii) the abstract syntax of the language contains mutually recursive structures, and (iii) the interpreter illustrates how to work with the recursive structures.

(It would be useful to have some more text describing the examples.)

Download the Files