package fmlib_std

  1. Overview
  2. Docs
Standard datatypes of Fmlib

Install

Dune Dependency

Authors

Maintainers

Sources

0.3.0.tar.gz
sha256=82db21ad71b6698a20890d329bf9e1cf6a83eb3b0e18f6acc4ffc3ad9173445d
md5=15e32aea1a5cd9962f29db3d1a1f4b7a

Description

Some small wrappers around ocamls stdlib modules to facilitate more functional programming. E.g. the module 'Option' and 'Result' support the 'let*' operator. The module 'Array' has a 'push' operation to append functionally elements at the end.

Besides some wrapper around Stdlib modules it has the additional modules:

  • Deque: A double ended queue with efficient pushing of elements from the front and the rear end and efficient popping of elements from the front end.

  • Btree: Finite sets and maps based on B trees. B trees have better cache efficiency and locality than AVL or Redblack trees.

Published: 19 May 2021

README

Fmlib - Functional Library with Managed Effects for Ocaml

Overview

Fmlib is a functional library which has components for

  • Standard Data Structures (B trees, ... ): Fmlib_std

  • Pretty Printing: Fmlib_pretty

  • Parsing: Fmlib_parse

  • Access to the browser and nodejs: Fmlib_js.

API Documentation

Design Documentation: Some designs and the corresponding algorithms are documented separately to ensure correctness of the corresponding designs and algorithms. The design documention is not neccessary to understand the usage of the library from a user's perspective. The user's perspective is documented in the API.

Installation

It is best to install the libraries via the ocaml package manager opam.

opam install fmlib_std
opam install fmlib_pretty
opam install fmlib_parse
opam install fmlib_js

Usage with dune

A program foo which uses e.g. the library fmlib_std can be e.g. compiled by dune with the dune file

(executable
    (name foo)
    (libraries
        fmlib_std
        ...
    )
)

Dependencies (4)

  1. fmlib = version
  2. ppx_inline_test >= "v0.13.0"
  3. dune >= "1.10"
  4. ocaml >= "4.08.0"

Dev Dependencies (1)

  1. odoc with-doc

Used by (3)

  1. fmlib_js = "0.3.0"
  2. fmlib_parse < "0.3.1"
  3. fmlib_pretty < "0.3.1"

Conflicts

None

OCaml

Innovation. Community. Security.