-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathglobalDiscussion.urs
34 lines (29 loc) · 1.27 KB
/
globalDiscussion.urs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
(* Specialization of Discussion that creates just one global set of threads *)
functor Make(M : sig
type text_internal
type text_config
val text : Widget.t string text_internal text_config
val access : transaction Discussion.access
val showOpenVsClosed : bool
val allowPrivate : bool
val onNewMessage : transaction (list string)
-> {Thread : time, Subject : string, Who : string, Text : string}
-> transaction unit
end) : sig
include Ui.S0
(* Generate todo items for users tasked with responding to messages. *)
functor Todo(N : sig
con tag :: Name
con user :: Name
con aother :: {Type}
constraint [user] ~ aother
table assignments : ([user = option string] ++ aother)
(* Recording who is responsible for which items *)
val title : string
val render : {Thread : time} -> string (* username *) -> xbody
end) : sig
type private
con tag = N.tag
val todo : Todo.t [Thread = time] [tag = private]
end
end