Mercurial > urweb
view tests/list.ur @ 2184:1ecef02f67c5
More Elaborate work to avoid instantiating unification variables with out-of-scope regular variables
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Sat, 24 Oct 2015 17:23:07 -0400 |
parents | 9021d44ba6b2 |
children |
line wrap: on
line source
fun isNil (t ::: Type) (ls : list t) = case ls of [] => True | _ => False fun delist (ls : list string) : xbody = case ls of [] => <xml>Nil</xml> | h :: t => <xml>{[h]} :: {delist t}</xml> fun callback ls = return <xml><body> {delist ls} </body></xml> fun main () = return <xml><body> {[isNil ([] : list bool)]}, {[isNil (1 :: [])]}, {[isNil ("A" :: "B" :: [])]} <p>{delist ("X" :: "Y" :: "Z" :: [])}</p> <a link={callback ("A" :: "B" :: [])}>Go!</a> </body></xml>