summaryrefslogtreecommitdiff
path: root/editor/app/editor_app.mli
blob: dade5466a0b973995e56ac424b1930e3620ac72b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
module type Event = sig

  type t

  val update: t -> State.t -> State.t

end

type event = E : 'a * (module Event with type t = 'a) -> event

(** Simple helper for the main event loop *)
val run
  : ?eq:(State.t -> State.t -> bool) -> State.t -> event Note.E.t -> State.t Note.S.t

val ev
 : (module Event with type t = 's) -> 's -> event