Skip to content
This repository
tree: bc2537a7bc
Fetching contributors…

Cannot retrieve contributors at this time

file 131 lines (99 sloc) 3.024 kb
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
Something went wrong with that request. Please try again.