diff options
author | Sébastien Dailly <sebastien@dailly.me> | 2022-02-07 16:09:14 +0100 |
---|---|---|
committer | Sébastien Dailly <sebastien@dailly.me> | 2022-02-07 16:15:44 +0100 |
commit | 5d5549c168af51195e66bf67cc5b23382b8c7d52 (patch) | |
tree | 6268ecee9135854b209a5533eeb99540b7955f31 /lib | |
parent | 58e892fb0159c42740ae92a642f7eb76245950a6 (diff) |
Changed the organisation in the applications
Diffstat (limited to 'lib')
-rwxr-xr-x | lib/application/application.ml | 9 | ||||
-rwxr-xr-x | lib/application/dune | 8 |
2 files changed, 17 insertions, 0 deletions
diff --git a/lib/application/application.ml b/lib/application/application.ml new file mode 100755 index 0000000..15452fb --- /dev/null +++ b/lib/application/application.ml @@ -0,0 +1,9 @@ +(** The type for the applcation *) +type ('a, 'b) t = 'a -> 'b -> 'b + +(** Simple helper for the main event loop *) +let run + : ?eq:('b -> 'b -> bool) -> ('a, 'b) t -> 'b -> 'a Note.E.t -> 'b Note.S.t + = fun ?eq f init event -> + let action = Note.E.map f event in + Note.S.accum ?eq init action diff --git a/lib/application/dune b/lib/application/dune new file mode 100755 index 0000000..4661283 --- /dev/null +++ b/lib/application/dune @@ -0,0 +1,8 @@ +(library + (name application) + (libraries + brr + brr.note + elements + ) + ) |