Mercurial > urweb
view tests/list.ur @ 1507:ca8c8b8cc477
Tutorial: TLC meets type classes and modules
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Sun, 17 Jul 2011 13:04: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>