Mercurial > urweb
comparison demo/more/conference.urs @ 1030:6bcc1020d5cd
Start of Decision
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Mon, 02 Nov 2009 15:48:06 -0500 |
parents | be1aec7333a5 |
children | 5d9f47124c4c |
comparison
equal
deleted
inserted
replaced
1029:53a22f46f377 | 1030:6bcc1020d5cd |
---|---|
44 con paper :: {(Type * Type)} | 44 con paper :: {(Type * Type)} |
45 constraint [Id, Document, Authors] ~ paper | 45 constraint [Id, Document, Authors] ~ paper |
46 val paper : $(map Meta.meta paper) | 46 val paper : $(map Meta.meta paper) |
47 val paperFolder : folder paper | 47 val paperFolder : folder paper |
48 | 48 |
49 con paperPrivate :: {Type} | |
50 constraint [Id, Document, Authors] ~ paperPrivate | |
51 constraint paper ~ paperPrivate | |
52 val paperPrivate : $(map Meta.private paperPrivate) | |
53 val paperPrivateFolder : folder paperPrivate | |
54 | |
49 con review :: {(Type * Type)} | 55 con review :: {(Type * Type)} |
50 constraint [Paper, User] ~ review | 56 constraint [Paper, User] ~ review |
51 val review : $(map Meta.meta review) | 57 val review : $(map Meta.meta review) |
52 val reviewFolder : folder review | 58 val reviewFolder : folder review |
53 | 59 |
54 val submissionDeadline : time | 60 val submissionDeadline : time |
55 val summarizePaper : ctx ::: {Unit} -> [[Body] ~ ctx] => $(map fst paper) -> xml ([Body] ++ ctx) [] [] | 61 val summarizePaper : ctx ::: {Unit} -> [[Body] ~ ctx] => $(map fst paper ++ paperPrivate) |
62 -> xml ([Body] ++ ctx) [] [] | |
56 | 63 |
57 functor Make (M : INPUT where con paper = map fst paper) | 64 functor Make (M : INPUT where con paper = map fst paper ++ paperPrivate) |
58 : OUTPUT where con paper = map fst paper | 65 : OUTPUT where con paper = map fst paper ++ paperPrivate |
59 where con userId = M.userId | 66 where con userId = M.userId |
60 where con paperId = M.paperId | 67 where con paperId = M.paperId |
61 end) : sig | 68 end) : sig |
62 | 69 |
63 val main : unit -> transaction page | 70 val main : unit -> transaction page |
64 | 71 |
65 end | 72 end |
73 | |
74 functor Join(M : sig | |
75 structure O1 : OUTPUT | |
76 | |
77 structure O2 : OUTPUT where con paper = O1.paper | |
78 where con userId = O1.userId | |
79 where con paperId = O1.paperId | |
80 | |
81 constraint O1.yourPaperTables ~ O2.yourPaperTables | |
82 end) : OUTPUT where con paper = M.O1.paper | |
83 where con userId = M.O1.userId | |
84 where con paperId = M.O1.paperId | |
85 where con yourPaperTables = M.O1.yourPaperTables ++ M.O2.yourPaperTables |