summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2008-11-01 21:19:43 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2008-11-01 21:19:43 -0400
commit047a2f193646e08db526768dca8376b7270eecb5 (patch)
tree2be405017cad5af57826b17c1715d9579eb06d1b /tests
parent9a22207b565607db64f95dda5fdc1c9e56224ec9 (diff)
Almost have that nested save function compiling
Diffstat (limited to 'tests')
-rw-r--r--tests/blog.ur16
-rw-r--r--tests/blog.urp4
-rw-r--r--tests/blog.urs1
-rw-r--r--tests/nest.ur22
-rw-r--r--tests/nest2.ur15
-rw-r--r--tests/nest2.urp3
6 files changed, 60 insertions, 1 deletions
diff --git a/tests/blog.ur b/tests/blog.ur
new file mode 100644
index 00000000..a3a06cb6
--- /dev/null
+++ b/tests/blog.ur
@@ -0,0 +1,16 @@
+fun main wrap =
+ let
+ fun edit id =
+ let
+ val r = 0
+ fun save () = <xml/>
+ in
+ wrap (save ())
+ end
+ in
+ edit 0
+ end
+
+fun wrap (inside : xbody) = return <xml/>
+
+val main () = main wrap
diff --git a/tests/blog.urp b/tests/blog.urp
new file mode 100644
index 00000000..a3f7bfaa
--- /dev/null
+++ b/tests/blog.urp
@@ -0,0 +1,4 @@
+debug
+database dbname=blog
+
+blog \ No newline at end of file
diff --git a/tests/blog.urs b/tests/blog.urs
new file mode 100644
index 00000000..6ac44e0b
--- /dev/null
+++ b/tests/blog.urs
@@ -0,0 +1 @@
+val main : unit -> transaction page
diff --git a/tests/nest.ur b/tests/nest.ur
index 8da50712..96bfdff4 100644
--- a/tests/nest.ur
+++ b/tests/nest.ur
@@ -45,7 +45,26 @@ fun f (x : int) =
page3
end
-datatype list t = Nil | Cons of t * list t
+fun add2 (x : int) (y : int) =
+ let
+ fun add3 () = x + y
+ in
+ add3
+ end
+
+fun add3 (x : int) =
+ let
+ fun add2 (y : int) =
+ let
+ fun add1 (z : int) = x + y + z
+ in
+ add1
+ end
+ in
+ add2
+ end
+
+(*datatype list t = Nil | Cons of t * list t
fun length (t ::: Type) (ls : list t) =
let
@@ -57,3 +76,4 @@ fun length (t ::: Type) (ls : list t) =
length' ls 0
end
+*)
diff --git a/tests/nest2.ur b/tests/nest2.ur
new file mode 100644
index 00000000..9a1d271a
--- /dev/null
+++ b/tests/nest2.ur
@@ -0,0 +1,15 @@
+fun wooho (wrap : xbody -> transaction page) =
+ let
+ fun subPage n =
+ let
+ fun subberPage () = wrap <xml>{[n]}</xml>
+ in
+ wrap <xml><a link={subberPage ()}>Go</a></xml>
+ end
+ in
+ subPage 0
+ end
+
+fun wrap x = return <xml><body>{x}</body></xml>
+
+fun main () = wooho wrap
diff --git a/tests/nest2.urp b/tests/nest2.urp
new file mode 100644
index 00000000..2668c65e
--- /dev/null
+++ b/tests/nest2.urp
@@ -0,0 +1,3 @@
+debug
+
+nest2