view demo/more/decision.urs @ 1244:1eedc9086e6c

Use key information in more places, and catch cases where one key completion depends on another having happened already
author Adam Chlipala <adamc@hcoop.net>
date Sun, 18 Apr 2010 13:00:36 -0400
parents 5d9f47124c4c
children
line wrap: on
line source
val decision : Meta.private (option bool)

functor Make (M : sig
                  con paperOther :: {Type}
                  constraint [Id, Decision] ~ paperOther
                  include Conference.INPUT
                          where con paper = [Decision = option bool] ++ paperOther

                  val status : ctx ::: {Unit} -> [[Body] ~ ctx] => $([Id = paperId] ++ paperOther)
                                                                   -> transaction (xml ([Body] ++ ctx) [] [])
              end) : Conference.OUTPUT where con paper = [Decision = option bool] ++ M.paperOther
                                       where con userId = M.userId
                                       where con paperId = M.paperId
                                       where con yourPaperTables = []