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 | 93594385adcba919b2e61785b5a60779e2be20db (patch) | |
tree | b0c64428283fba211e8d782b474877c98467593c /demo/more/grid.ur | |
parent | fd29ac9b0927fa132abf832ad46409b14ac001d3 (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'; |