package fmlib
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=b54320cbe9bddac9ff88654e1d8ffea1d2eecb48aa668f3483f26f80c7954531
md5=28a93cbd62d5debe496759e8e954848b
doc/index.html
Fmlib
The library Fmlib
supports functional programming in Ocaml with managed effects. It has the following components:
Fmlib_std
Standard Types
Fmlib_pretty
Pretty Printing
Fmlib_parse
Parsing
Fmlib_js
Interface to javascript viajs_of_ocaml
All libraries of Fmlib are prefixed by Fmlib_
to avoid nameclashes with any other used libraries.
Installation
Fmlib
can be installed easily with the help of the ocaml package manager opam:
opam install fmlib_std opam install fmlib_pretty opam install fmlib_parse opam install fmlib_js
Design and Implementation
The design and the implementation of some modules is described in this document.
Design Philosophy
All components of Fmlib work independently of any input/output methods i.e. they can be used in any environment.
The printers do not actually print. They generate a lazy stream of characters which can be output on any medium.
The parsers do not actually read from input. They work in push mode. You can choose your input method and you push the characters into the parser.
The library is functional in the sense that it avoids mutation or uses mutation only locally to improve performance. Exception handling is avoided as well. The module Fmlib_std.Result
can be used to achieve the same effect as exception handling.