aboutsummaryrefslogtreecommitdiff
path: root/clib/cPath.mli
diff options
context:
space:
mode:
authorcoqbot-app[bot]2021-03-03 21:52:11 +0000
committerGitHub2021-03-03 21:52:11 +0000
commitbb4e1a76802a5440605264320ed528331ec0e2b7 (patch)
treea4ee40409c92afc6e563cac698e4ed08713cf051 /clib/cPath.mli
parenta5bea627d1fe742229497b466ca24b470c20d269 (diff)
parentab98d847d237af3cd0e46edef42218be65cfc98f (diff)
Merge PR #12567: [build] Split stdlib to it's own package.
Reviewed-by: Zimmi48 Ack-by: JasonGross Ack-by: gares Ack-by: LasseBlaauwbroek Ack-by: silene Ack-by: vbgl
Diffstat (limited to 'clib/cPath.mli')
-rw-r--r--clib/cPath.mli31
1 files changed, 31 insertions, 0 deletions
diff --git a/clib/cPath.mli b/clib/cPath.mli
new file mode 100644
index 0000000000..762279a218
--- /dev/null
+++ b/clib/cPath.mli
@@ -0,0 +1,31 @@
+(************************************************************************)
+(* * The Coq Proof Assistant / The Coq Development Team *)
+(* v * Copyright INRIA, CNRS and contributors *)
+(* <O___,, * (see version control and CREDITS file for authors & dates) *)
+(* \VV/ **************************************************************)
+(* // * This file is distributed under the terms of the *)
+(* * GNU Lesser General Public License Version 2.1 *)
+(* * (see LICENSE file for the text of the license) *)
+(************************************************************************)
+
+(* This API is loosely inspired by [Stdune.Path], for now we keep it
+ minimal, but at some point we may extend it, see developer notes in
+ the implementation file. *)
+
+(* To be made opaque one day, for now we force users to go thru the
+ constructor *)
+type t = private string
+
+(** [make path_components] build a path from its components *)
+val make : string list -> t
+
+(** [relative path string] build a path relative to an existing one *)
+val relative : t -> string -> t
+
+(** [choose_existing paths] will return [Some f] for the first file
+ [f] in [paths] that exists, [None] otherwise. *)
+val choose_existing : t list -> t option
+
+(* We should gradually add some more functions to handle common dirs
+ here such the theories directories or share files. Abstracting it
+ here does allow to use system-specific functionalities *)