From ad33454a204aa5791445e7d15f02ba0447fff85e Mon Sep 17 00:00:00 2001 From: Marcos Magueta Date: Mon, 12 Oct 2026 11:58:25 -0300 Subject: relation scan with enumerable and release --- lib/protocols/Enumerable.ml | 2 ++ 1 file changed, 2 insertions(+) (limited to 'lib/protocols/Enumerable.ml') diff --git a/lib/protocols/Enumerable.ml b/lib/protocols/Enumerable.ml index 53db834..76b4e86 100644 --- a/lib/protocols/Enumerable.ml +++ b/lib/protocols/Enumerable.ml @@ -19,3 +19,5 @@ let make impl = Enumerable (impl :> implementation) let from handle = Handle.into handle (function Enumerable impl -> Some impl | _ -> None) let require handle = from handle |> Option.to_result ~none:(Error.not_enumerable ()) let enumerate i = Handle.invoke i (fun o -> o#enumerate) +let cursor handle = Result.bind (require handle) enumerate +let scan handle f = Result.bind (cursor handle) (fun cursor -> Cursor.consuming cursor f) -- cgit v1.2.3