annotate demo/more/meta.urs @ 1014:ea9f03ac2710
Chars working with SQLite
author |
Adam Chlipala <adamc@hcoop.net> |
date |
Thu, 22 Oct 2009 17:36:30 -0400 |
parents |
16f7cb0891b6 |
children |
6bcc1020d5cd |
rev |
line source |
adamc@1004
|
1 con meta = fn (db :: Type, widget :: Type) =>
|
adamc@1004
|
2 {Nam : string,
|
adamc@1004
|
3 Show : db -> xbody,
|
adamc@1004
|
4 Widget : nm :: Name -> xml form [] [nm = widget],
|
adamc@1004
|
5 WidgetPopulated : nm :: Name -> db -> xml form [] [nm = widget],
|
adamc@1004
|
6 Parse : widget -> db,
|
adamc@1004
|
7 Inject : sql_injectable db}
|
adamc@1004
|
8
|
adamc@1004
|
9 val int : string -> meta (int, string)
|
adamc@1004
|
10 val float : string -> meta (float, string)
|
adamc@1004
|
11 val string : string -> meta (string, string)
|
adamc@1004
|
12 val bool : string -> meta (bool, bool)
|
adamc@1007
|
13
|
adamc@1007
|
14 val textarea : string -> meta (string, string)
|
adamc@1007
|
15
|
adamc@1009
|
16 val allContent : ts ::: {(Type * Type)} -> $(map meta ts) -> $(map fst ts) -> folder ts -> xbody
|
adamc@1009
|
17
|
adamc@1007
|
18 val allWidgets : ts ::: {(Type * Type)} -> $(map meta ts) -> folder ts
|
adamc@1007
|
19 -> xml form [] (map snd ts)
|
adamc@1008
|
20
|
adamc@1011
|
21 val allPopulated : ts ::: {(Type * Type)} -> $(map meta ts) -> $(map fst ts) -> folder ts
|
adamc@1011
|
22 -> xml form [] (map snd ts)
|
adamc@1011
|
23
|
adamc@1008
|
24 val allPopulatedTr : ts ::: {(Type * Type)} -> $(map meta ts) -> $(map fst ts) -> folder ts
|
adamc@1008
|
25 -> xml ([Tr] ++ form) [] (map snd ts)
|
adamc@1008
|
26
|
adamc@1008
|
27 val ensql : avail ::: {{Type}} -> ts ::: {(Type * Type)} -> $(map meta ts) -> $(map snd ts) -> folder ts
|
adamc@1008
|
28 -> $(map (sql_exp avail [] []) (map fst ts))
|