Mercurial > urweb
comparison demo/more/dbgrid.urs @ 935:2422360c78a3
Dropped in initial aggregate types
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Tue, 15 Sep 2009 09:40:51 -0400 |
parents | 51bc7681c47e |
children | 37dd42935dad |
comparison
equal
deleted
inserted
replaced
934:36f787c02287 | 935:2422360c78a3 |
---|---|
11 Validate : t -> signal bool} | 11 Validate : t -> signal bool} |
12 | 12 |
13 con colMeta = fn (row :: {Type}) (global_t :: (Type * Type)) => | 13 con colMeta = fn (row :: {Type}) (global_t :: (Type * Type)) => |
14 {Initialize : transaction global_t.1, | 14 {Initialize : transaction global_t.1, |
15 Handlers : global_t.1 -> colMeta' row global_t.2} | 15 Handlers : global_t.1 -> colMeta' row global_t.2} |
16 | |
17 con aggregateMeta = fn (row :: {Type}) (acc :: Type) => | |
18 {Initial : acc, | |
19 Step : $row -> acc -> acc, | |
20 Display : acc -> xbody} | |
16 | 21 |
17 structure Direct : sig | 22 structure Direct : sig |
18 con metaBase = fn actual_input :: (Type * Type) => | 23 con metaBase = fn actual_input :: (Type * Type) => |
19 {Display : actual_input.2 -> xbody, | 24 {Display : actual_input.2 -> xbody, |
20 Edit : actual_input.2 -> xbody, | 25 Edit : actual_input.2 -> xbody, |
93 val cols : $(map (colMeta (key ++ row)) cols) | 98 val cols : $(map (colMeta (key ++ row)) cols) |
94 | 99 |
95 val keyFolder : folder key | 100 val keyFolder : folder key |
96 val rowFolder : folder row | 101 val rowFolder : folder row |
97 val colsFolder : folder cols | 102 val colsFolder : folder cols |
103 | |
104 con aggregates :: {Type} | |
105 val aggregates : $(map (aggregateMeta (key ++ row)) aggregates) | |
98 end) : sig | 106 end) : sig |
99 type grid | 107 type grid |
100 | 108 |
101 val grid : transaction grid | 109 val grid : transaction grid |
102 val sync : grid -> transaction unit | 110 val sync : grid -> transaction unit |