Import Upstream version 20180207
[hcoop/debian/mlton.git] / lib / mlton / basic / dir.sig
CommitLineData
7f918cf1
CE
1(* Copyright (C) 1999-2006 Henry Cejtin, Matthew Fluet, Suresh
2 * Jagannathan, and Stephen Weeks.
3 *
4 * MLton is released under a BSD-style license.
5 * See the file MLton-LICENSE for details.
6 *)
7
8signature DIR =
9 sig
10 type t = string
11 type file = string
12
13 val cd: t -> unit
14 val current: unit -> t
15 val doesExist: t -> bool
16 val inDir: t * (unit -> 'a) -> 'a
17 val inTemp: (unit -> 'a) -> 'a
18 val isDir: string -> bool
19 val layout: t -> Layout.t
20 val ls: t -> t list * file list
21 val lsDirs: t -> t list
22 val lsFiles: t -> file list
23 val make: t -> unit
24 val remove: t -> unit
25 val removeR: t -> unit (* remove recursively, i.e. all contents *)
26 val root: t
27 val toString: t -> string
28 end