Allow functions "returning strings" (etc), redefine sort function.
[goals.git] / src / cmdline.mli
1 (* Goals command line
2  * Copyright (C) 2019 Richard W.M. Jones
3  * Copyright (C) 2019 Red Hat Inc.
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License along
16  * with this program; if not, write to the Free Software Foundation, Inc.,
17  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18  *)
19
20 val stdlibdir : string
21 (** Get the stdlib directory. *)
22
23 val prelude_gl_file : string
24 (** Get the absolute path of the prelude.gl file. *)
25
26 val prelude_sh_file : string
27 (** Get the absolute path of the prelude.sh file. *)
28
29 val input_file : string
30 (** Get the name of the input Goalfile.
31     This is an absolute path. *)
32
33 val debug : ('a, unit, string, unit) format4 -> 'a
34 (** If debugging is enabled (-d option) then print the formatted
35     output.  If debugging was not enabled then nothing is printed. *)
36
37 val debug_flag : bool
38 (** If debugging is enabled. *)
39
40 val directory : string
41 (** Get the name of working directory (-C option). *)
42
43 val includes : string list
44 (** Get list of include directories (-I option).
45     These are all absolute paths. *)
46
47 val use_prelude : bool
48 (** True if we should load the prelude, or false if --no-prelude. *)
49
50 val anon_vars : (string * string) list
51 (** List of anonymous variable assignments on the command line. *)
52
53 val targets : string list
54 (** List of target expressions on the command line. *)