diff options
author | Adam Chlipala <adamc@hcoop.net> | 2008-11-01 21:19:43 -0400 |
---|---|---|
committer | Adam Chlipala <adamc@hcoop.net> | 2008-11-01 21:19:43 -0400 |
commit | 047a2f193646e08db526768dca8376b7270eecb5 (patch) | |
tree | 2be405017cad5af57826b17c1715d9579eb06d1b /tests | |
parent | 9a22207b565607db64f95dda5fdc1c9e56224ec9 (diff) |
Almost have that nested save function compiling
Diffstat (limited to 'tests')
-rw-r--r-- | tests/blog.ur | 16 | ||||
-rw-r--r-- | tests/blog.urp | 4 | ||||
-rw-r--r-- | tests/blog.urs | 1 | ||||
-rw-r--r-- | tests/nest.ur | 22 | ||||
-rw-r--r-- | tests/nest2.ur | 15 | ||||
-rw-r--r-- | tests/nest2.urp | 3 |
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 |