summaryrefslogtreecommitdiff
path: root/demo/more
diff options
context:
space:
mode:
Diffstat (limited to 'demo/more')
-rw-r--r--demo/more/conference1.ur3
-rw-r--r--demo/more/decision.ur5
-rw-r--r--demo/more/decision.urs2
3 files changed, 9 insertions, 1 deletions
diff --git a/demo/more/conference1.ur b/demo/more/conference1.ur
index 55aa1241..a365efa8 100644
--- a/demo/more/conference1.ur
+++ b/demo/more/conference1.ur
@@ -17,6 +17,9 @@ open Conference.Make(struct
structure O2 = Decision.Make(struct
con paperOther = _
open M
+
+ fun status [ctx] [[Body] ~ ctx]
+ r = <xml>!</xml>
end)
end)
end
diff --git a/demo/more/decision.ur b/demo/more/decision.ur
index 986658e8..b93658ee 100644
--- a/demo/more/decision.ur
+++ b/demo/more/decision.ur
@@ -11,6 +11,8 @@ functor Make(M : sig
constraint [Id, Decision] ~ paperOther
include Conference.INPUT
where con paper = [Decision = option bool] ++ paperOther
+
+ val status : ctx ::: {Unit} -> [[Body] ~ ctx] => $paperOther -> xml ([Body] ++ ctx) [] []
end) = struct
open M
@@ -22,6 +24,7 @@ functor Make(M : sig
ORDER BY paper.Id)
(fn r => <xml><tr>
<td>{useMore (summarizePaper (r.Paper -- #Id))}</td>
+ <td>{useMore (status (r.Paper -- #Id -- #Decision))}</td>
<td><entry>
<hidden{#Paper} value={show r.Paper.Id}/>
<select{#Decision}>
@@ -35,7 +38,7 @@ functor Make(M : sig
<form><subforms{#Papers}>
<table>
- <tr> <th>Paper</th> <th>Decision</th> </tr>
+ <tr> <th>Paper</th> <th>Status</th> <th>Decision</th> </tr>
{ps}
</table>
</subforms></form>
diff --git a/demo/more/decision.urs b/demo/more/decision.urs
index d3ac0d46..9ae585b0 100644
--- a/demo/more/decision.urs
+++ b/demo/more/decision.urs
@@ -5,6 +5,8 @@ functor Make (M : sig
constraint [Id, Decision] ~ paperOther
include Conference.INPUT
where con paper = [Decision = option bool] ++ paperOther
+
+ val status : ctx ::: {Unit} -> [[Body] ~ ctx] => $paperOther -> xml ([Body] ++ ctx) [] []
end) : Conference.OUTPUT where con paper = [Decision = option bool] ++ M.paperOther
where con userId = M.userId
where con paperId = M.paperId