Mercurial > urweb
annotate tests/dlist.ur @ 1726:4df4521fbd3b
Removed excess zero byte from empty pages.
Zero byte sometimes breaks http tunneling in Safari. Empty page is a "Not Modified" response for app.js
author | Vladimir Shabanov <vshabanoff@gmail.com> |
---|---|
date | Wed, 25 Apr 2012 03:07:07 +0400 |
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> |