package fmlib_std
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=17d85e2ca14a57f7c7292f5cb53db1da63044487b5149cf366ea76db92b55818
md5=dd0b8db1f0de867708797cfbc471d652
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: 21 Sep 2023
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
Web applications:
Fmlib_browser
.Access to the browser and nodejs:
Fmlib_js
.
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_browser
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 (3)
-
ppx_inline_test
>= "v0.13.0"
-
dune
>= "3.0.0"
-
ocaml
>= "4.08.0"
Dev Dependencies (1)
-
odoc
with-doc
Used by (5)
-
fmlib
= "0.5.5"
-
fmlib_browser
= "0.5.5"
-
fmlib_js
= "0.5.5"
-
fmlib_parse
= "0.5.5"
-
fmlib_pretty
= "0.5.5"
Conflicts
None