package lambdapi

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Source file filename.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
include Stdlib.Filename

(** [realpath path] returns the absolute canonical path to file [path]. If
    [path] is invalid (i.e., it does not describe an existing file), then the
    exception [Invalid_argument] is raised. *)
external realpath : string -> string = "c_realpath"

let rec normalize fname =
  if Sys.file_exists fname then
    realpath fname
  else
    let dirnm = dirname fname in
    let basenm = basename fname in
    concat (normalize dirnm) basenm

(** [current_dir ()] returns the canonical running path of the program. *)
let current_dir : unit -> string = fun _ -> realpath "."
OCaml

Innovation. Community. Security.