summaryrefslogtreecommitdiff
path: root/tiger-compiler/tests/good/recursive-types.tig
diff options
context:
space:
mode:
Diffstat (limited to 'tiger-compiler/tests/good/recursive-types.tig')
-rw-r--r--tiger-compiler/tests/good/recursive-types.tig15
1 files changed, 15 insertions, 0 deletions
diff --git a/tiger-compiler/tests/good/recursive-types.tig b/tiger-compiler/tests/good/recursive-types.tig
new file mode 100644
index 0000000..60cc378
--- /dev/null
+++ b/tiger-compiler/tests/good/recursive-types.tig
@@ -0,0 +1,15 @@
+/* define valid recursive types */
+
+let
+ /* define a list */
+ type intlist = {hd : int, tl : intlist}
+
+ /* define a tree */
+ type tree = {key : int, children : treelist}
+ type treelist = {hd : tree, tl : treelist}
+
+ var lis : intlist := intlist { hd = 0, tl = nil }
+
+in
+ lis
+end