Mercurial > urweb
annotate demo/more/conference1.ur @ 1079:d069b193ed6b
Especialize uses a termination measure based on number of arguments introduced
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Tue, 15 Dec 2009 19:26:52 -0500 |
parents | 5d9f47124c4c |
children |
rev | line source |
---|---|
adamc@1007 | 1 open ConferenceFields |
adamc@1007 | 2 |
adamc@1003 | 3 open Conference.Make(struct |
adamc@1007 | 4 val paper = {Title = title, |
adamc@1007 | 5 Abstract = abstract} |
adamc@1030 | 6 val paperPrivate = {Decision = Decision.decision} |
adamc@1029 | 7 val review = {Rating = dropdown "Rating" (#"A" :: #"B" :: #"C" :: #"D" :: []), |
adamc@1029 | 8 CommentsForAuthors = commentsForAuthors} |
adamc@1006 | 9 |
adamc@1018 | 10 val submissionDeadline = readError "2009-11-22 23:59:59" |
adamc@1009 | 11 |
adamc@1030 | 12 fun summarizePaper [ctx] [[Body] ~ ctx] r = txt r.Title |
adamc@1032 | 13 functor Make (M : Conference.INPUT where con paper = _ |
adamc@1032 | 14 where con review = _) = struct |
adamc@1032 | 15 open M |
adamc@1022 | 16 |
adamc@1032 | 17 fun status [ctx] [[Body] ~ ctx] r = |
adamc@1032 | 18 queryX (SELECT review.Rating |
adamc@1032 | 19 FROM review |
adamc@1032 | 20 WHERE review.Paper = {[r.Id]}) |
adamc@1032 | 21 (fn r => <xml>{[r.Review.Rating]}; </xml>) |
adamc@1032 | 22 |
adamc@1030 | 23 open Conference.Join(struct |
adamc@1030 | 24 structure O1 = Bid.Make(M) |
adamc@1030 | 25 structure O2 = Decision.Make(struct |
adamc@1030 | 26 con paperOther = _ |
adamc@1030 | 27 open M |
adamc@1031 | 28 |
adamc@1032 | 29 val status = @@status |
adamc@1030 | 30 end) |
adamc@1030 | 31 end) |
adamc@1022 | 32 end |
adamc@1003 | 33 end) |