diff options
author | Adam Chlipala <adamc@hcoop.net> | 2009-09-15 09:45:46 -0400 |
---|---|---|
committer | Adam Chlipala <adamc@hcoop.net> | 2009-09-15 09:45:46 -0400 |
commit | a8fa8a4567570b1925ff11b17da729ac32cd191e (patch) | |
tree | b0c64428283fba211e8d782b474877c98467593c /demo/more/grid.ur | |
parent | 89ff99b8cb398180ae3168dec72baa793fe42850 (diff) |
Include 'key' type in Grid
Diffstat (limited to 'demo/more/grid.ur')
-rw-r--r-- | demo/more/grid.ur | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/demo/more/grid.ur b/demo/more/grid.ur index 084ddefc..cb836970 100644 --- a/demo/more/grid.ur +++ b/demo/more/grid.ur @@ -17,10 +17,13 @@ con aggregateMeta = fn (row :: Type) (acc :: Type) => functor Make(M : sig type row + type key + val keyOf : row -> key + val list : transaction (list row) val new : transaction row - val save : {Old : row, New : row} -> transaction unit - val delete : row -> transaction unit + val save : key -> row -> transaction unit + val delete : key -> transaction unit con cols :: {(Type * Type)} val cols : $(map (colMeta row) cols) @@ -85,7 +88,7 @@ functor Make(M : sig val delete = Dlist.delete pos; row <- get rowS; - rpc (M.delete row) + rpc (M.delete (M.keyOf row)) val update = set ud True @@ -122,7 +125,7 @@ functor Make(M : sig [[nm] ~ rest] data meta v row' => (meta.Handlers data).Update row' v) row [_] M.folder grid.Cols M.cols cols; - rpc (M.save {Old = row, New = row'}); + rpc (M.save (M.keyOf row) row'); set rowS row'; cols <- makeAll grid.Cols row'; |