This repository was archived by the owner on Nov 12, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathfind_recursive_functions.mli
37 lines (33 loc) · 1.81 KB
/
find_recursive_functions.mli
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
35
36
37
(**************************************************************************)
(* *)
(* OCaml *)
(* *)
(* Pierre Chambart, OCamlPro *)
(* Mark Shinwell and Leo White, Jane Street Europe *)
(* *)
(* Copyright 2013--2016 OCamlPro SAS *)
(* Copyright 2014--2016 Jane Street Group LLC *)
(* *)
(* All rights reserved. This file is distributed under the terms of *)
(* the GNU Lesser General Public License version 2.1, with the *)
(* special exception on linking described in the file LICENSE. *)
(* *)
(**************************************************************************)
[@@@ocaml.warning "+a-4-9-30-40-41-42"]
(** "Recursive functions" are those functions [f] that might call either:
- themselves, or
- another function that in turn might call [f].
For example in the following simultaneous definition of [f] [g] and [h],
[f] and [g] are recursive functions, but not [h]:
[let rec f x = g x
and g x = f x
and h x = g x]
*)
(** Determine the recursive functions, if any, bound by the given set of
function declarations.
This is only intended to be used by [Flambda.create_function_declarations].
*)
val in_function_declarations
: Flambda.function_declarations
-> backend:(module Backend_intf.S)
-> Variable.Set.t