blob: 54bf0fc7d9b84efa99851778c3ae678015a72184 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
functor Make (M : sig
con fs :: {Unit}
val fl : folder fs
val names : $(mapU string fs)
end) = struct
fun handler values = return <xml><body>
{foldURX2 [string] [string] [body]
(fn [nm :: Name] [rest :: {Unit}] [[nm] ~ rest] name value => <xml>
<li> {[name]} = {[value]}</li>
</xml>)
[M.fs] M.fl M.names values}
</body></xml>
fun main () = return <xml><body>
<form>
{foldUR [string] [fn cols :: {Unit} => xml form [] (mapU string cols)]
(fn [nm :: Name] [rest :: {Unit}] [[nm] ~ rest] name
(acc : xml form [] (mapU string rest)) => <xml>
<li> {[name]}: <textbox{nm}/></li>
{useMore acc}
</xml>)
<xml/>
[M.fs] M.fl M.names}
<submit action={handler}/>
</form>
</body></xml>
end
|