view demo/more/decision.urs @ 1107:52571ca9b777

Eta-expand bodies of transaction functions in Monoization, to enable later optimization
author Adam Chlipala <adamc@hcoop.net>
date Thu, 31 Dec 2009 18:07:53 -0500
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 = []