comparison src/monoize.sml @ 410:c5a3d223f157

Sql demo
author Adam Chlipala <adamc@hcoop.net>
date Tue, 21 Oct 2008 18:44:52 -0400
parents 8084fa9216de
children e0e9e9eca1cb
comparison
equal deleted inserted replaced
409:81d9f42bb641 410:c5a3d223f157
1533 | lowercaseFirst s = str (Char.toLower (String.sub (s, 0))) 1533 | lowercaseFirst s = str (Char.toLower (String.sub (s, 0)))
1534 ^ String.extract (s, 1, NONE) 1534 ^ String.extract (s, 1, NONE)
1535 1535
1536 val s = (L'.EPrim (Prim.String (String.concat ["<", tag])), loc) 1536 val s = (L'.EPrim (Prim.String (String.concat ["<", tag])), loc)
1537 in 1537 in
1538 foldl (fn ((x, e, t), (s, fm)) => 1538 foldl (fn (("Action", _, _), acc) => acc
1539 | ((x, e, t), (s, fm)) =>
1539 case t of 1540 case t of
1540 (L'.TFfi ("Basis", "bool"), _) => 1541 (L'.TFfi ("Basis", "bool"), _) =>
1541 let 1542 let
1542 val s' = " " ^ lowercaseFirst x 1543 val s' = " " ^ lowercaseFirst x
1543 in 1544 in
1565 let 1566 let
1566 val fooify = 1567 val fooify =
1567 case x of 1568 case x of
1568 "Href" => urlifyExp 1569 "Href" => urlifyExp
1569 | "Link" => urlifyExp 1570 | "Link" => urlifyExp
1570 | "Action" => urlifyExp
1571 | _ => attrifyExp 1571 | _ => attrifyExp
1572 1572
1573 val xp = " " ^ lowercaseFirst x ^ "=\"" 1573 val xp = " " ^ lowercaseFirst x ^ "=\""
1574 1574
1575 val (e, fm) = fooify env fm (e, t) 1575 val (e, fm) = fooify env fm (e, t)
1631 normal () 1631 normal ()
1632 | _ => normal () 1632 | _ => normal ()
1633 end 1633 end
1634 in 1634 in
1635 case tag of 1635 case tag of
1636 "submit" => ((L'.EPrim (Prim.String "<input type=\"submit\"/>"), loc), fm) 1636 "submit" => normal ("input type=\"submit\"", NONE)
1637 1637
1638 | "textbox" => 1638 | "textbox" =>
1639 (case targs of 1639 (case targs of
1640 [_, (L.CName name, _)] => 1640 [_, (L.CName name, _)] =>
1641 let 1641 let