annotate tests/dlist.ur @ 2278:b7615e0ac4b0

Fix bug in and clean up free path code.
author Ziv Scully <ziv@mit.edu>
date Tue, 10 Nov 2015 12:35:00 -0500
parents 20c083327364
children
rev   line source
adamc@601 1 datatype dlist = Nil | Cons of string * source dlist
adamc@601 2
adamc@601 3 fun delist dl =
adamc@601 4 case dl of
adamc@601 5 Nil => <xml>[]</xml>
adamc@604 6 | Cons (x, s) => <xml>{[x]} :: ({delistSource s})</xml>
adamc@601 7
adamc@601 8 and delistSource s = <xml><dyn signal={dl <- signal s; return (delist dl)}/></xml>
adamc@601 9
adamc@601 10 fun main () : transaction page =
adamc@601 11 ns <- source Nil;
adamc@601 12 s <- source ns;
adamc@601 13 tb <- source "";
adamc@601 14 return <xml><body>
adamc@601 15 <dyn signal={s <- signal s; return (delistSource s)}/><br/>
adamc@601 16 <br/>
adamc@601 17 <ctextbox source={tb}/>
adamc@601 18 <button value="Add" onclick={hd <- get tb;
adamc@601 19 tl <- get s;
adamc@601 20 s' <- source (Cons (hd, tl));
adamc@601 21 set s s'}/>
adamc@603 22 <button value="Reset" onclick={set s ns}/>
adamc@601 23 </body></xml>