# Module OpamFile

    module OpamFile: sig .. end

Functions to read and write OPAM configuration files in a typed way

Functions to read and write OPAM configuration files in a typed way

    module type IO_FILE = sig .. end

All Configuration files satisfies this signature

    module Lines: IO_FILE  with type t = string list list

Lines of space-separated words.

    module Config: sig .. end

Configuration file: `$opam/config`

    module OPAM: sig .. end

OPAM files

    module Descr: sig .. end

Package descriptions: `$opam/descr/`

    module Aliases: IO_FILE  with type t = compiler switch_map

Compiler aliases: `$opam/aliases`

    module Export: IO_FILE  with type t =
      package_set * package_set * pin_option OpamPackage.Name.Map.t

Import/export file.

    module Installed: IO_FILE  with type t = package_set

List of installed packages: `$opam/$oversion/installed`

    module Installed_roots: IO_FILE  with type t = package_set

List of packages explicitly installed by the user: `$opam/$switch/installed.user`

    module Reinstall: IO_FILE  with type t = package_set

List of packages to reinstall: `$opam/$oversion/reinstall`

    module Comp: sig .. end

Compiler version `$opam/compilers/`

## Configuration files

    module Dot_install: sig .. end

.install files

    module Dot_config: sig .. end

.config files

## Repository files

    module Package_index: IO_FILE  with
      type t = (repository_name * string option) package_map

Association between package names and repositories

    module Compiler_index: IO_FILE  with
      type t = (repository_name * string option) compiler_map

Association between compiler names and repositories

    module Repo_config: IO_FILE  with type t = repository

Repository config: `$opam/repo/$repo/config`

    module Pinned: IO_FILE  with type t = pin_option name_map

Pinned package files

    module Repo: sig .. end

Repository metadata

## Substitution files

    module URL: sig .. end

Urls for OPAM repositories

    module File_attributes: IO_FILE  with type t = file_attribute_set

urls.txt file *

    module Filenames: IO_FILE  with type t = filename_set

List of filenames

    module Prefix: IO_FILE  with type t = string name_map

Prefix of package directories

    val print_stats : unit -> unit

Display statistics about file access.