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)