-
Notifications
You must be signed in to change notification settings - Fork 125
/
opaTopProperties.mli
131 lines (99 loc) · 2.95 KB
/
opaTopProperties.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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
(*
Copyright © 2011 MLstate
This file is part of OPA.
OPA is free software: you can redistribute it and/or modify it under the
terms of the GNU Affero General Public License, version 3, as published by
the Free Software Foundation.
OPA is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for
more details.
You should have received a copy of the GNU Affero General Public License
along with OPA. If not, see <http://www.gnu.org/licenses/>.
*)
(**
OpaTop global properties.
@author Mathieu Barbin
*)
(**
Global properties are a collection of imperative statefull variables
of toggleling the behavior of the interpreter.
It is used essentially for debug.
*)
(**
GUIDELINES: keep alphabetic order of properties.
For toggle variables (modes) names are [property_set, property_get].
If it makes sense, add a corresponding directive for a dynamic switch
in OpaTopDirectives, and add a corresponding option in the command line
tool.
*)
(**
Assertion mode: compile or ignore assertions.
Default is on.
*)
val assert_set : bool -> unit
val assert_get : unit -> bool
(* (\** *)
(* DbGen mode: with or without dbgen. *)
(* Default is on. *)
(* *\) *)
(* val dbgen_set : bool -> unit *)
(* val dbgen_get : unit -> bool *)
(**
DbGen Debug mode: with or without dumping dbgen process.
Default is off.
*)
val dddbgen_set : bool -> unit
val dddbgen_get : unit -> bool
(**
Dump infered types and evaluated values.
*)
val dump_set : bool -> unit
val dump_get : unit -> bool
(**
Greedy mode: kill or continue in case of errors.
Default is off during stdlib and user files, and on during stdin.
*)
val greedy_set : bool -> unit
val greedy_get : unit -> bool
(**
Skip-evaluation mode: with or without evaluation.
Default is off.
*)
val noeval_set : bool -> unit
val noeval_get : unit -> bool
(**
Say if the prompt should be printed.
In practice, is set to true whenever we parse the stdin.
{[
# g(x) = x ;;
g : 'a -> 'a : <fun>
#
]}
*)
val prompt_set : bool -> unit
val prompt_get : unit -> bool
(**
Where goes the standard output of the interpreter.
Default is stdout.
*)
val stdout : Format.formatter ref
(**
Restricted bypass mode: with or without checking.
Default is on.
*)
val restricted_bypass_set : bool -> unit
val restricted_bypass_get : unit -> bool
(**
Value restriction mode: set the level of value restriction.
Default is 0 (desactivated), 1 is normal, 2 is strict.
*)
val value_restriction_set : [`disabled|`normal|`strict] -> unit
val value_restriction_get : unit -> [`disabled|`normal|`strict]
(* (\** *)
(* Typer mode: with or without typing. *)
(* Default is on. *)
(* *\) *)
(* val typer_set : bool -> unit *)
(* val typer_get : unit -> bool *)
val switch_typechecker: string -> bool