diff 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
line wrap: on
line diff
--- a/demo/more/dbgrid.urs	Mon Sep 14 19:04:38 2009 -0400
+++ b/demo/more/dbgrid.urs	Tue Sep 15 09:40:51 2009 -0400
@@ -14,6 +14,11 @@
                  {Initialize : transaction global_t.1,
                   Handlers : global_t.1 -> colMeta' row global_t.2}
 
+con aggregateMeta = fn (row :: {Type}) (acc :: Type) =>
+                       {Initial : acc,
+                        Step : $row -> acc -> acc,
+                        Display : acc -> xbody}
+
 structure Direct : sig
     con metaBase = fn actual_input :: (Type * Type) =>
                   {Display : actual_input.2 -> xbody,
@@ -95,6 +100,9 @@
                  val keyFolder : folder key
                  val rowFolder : folder row
                  val colsFolder : folder cols
+
+                 con aggregates :: {Type}
+                 val aggregates : $(map (aggregateMeta (key ++ row)) aggregates)
              end) : sig
     type grid