adamc@398: datatype list t = Nil | Cons of t * list t adamc@398: adamc@398: fun handler (ls : list bool) = return adamc@398: adamc@402: datatype wlist = WNil | Empty | WCons of bool * wlist adamc@402: adamc@402: fun whandler' (ls : wlist) = adamc@402: case ls of adamc@402: WNil => Nil adamc@402: | Empty => Empty adamc@402: | WCons (x, ls') => {[x]} :: {whandler' ls'} adamc@402: adamc@402: fun whandler ls = return (whandler' ls) adamc@402: adamc@398: fun main () : transaction page = return adamc@402: !
adamc@402: Nil
adamc@402: Empty
adamc@402: True :: False :: Empty
adamc@398: