Source file Loop_detection_effect.ml
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
open Forester_core
module Make () = struct
open Algaeff.Reader.Make(struct type t = URI.Set.t end)
let add_seen_uri uri =
scope @@ URI.Set.add uri
let add_seen_uri_opt uri_opt kont =
match uri_opt with
| None -> kont ()
| Some uri -> add_seen_uri uri kont
let have_seen_uri uri =
URI.Set.mem uri @@ read ()
let have_seen_uri_opt uri_opt =
match uri_opt with
| None -> false
| Some uri -> have_seen_uri uri
let run k = run ~env: URI.Set.empty k
end