Page
Library
Module
Module type
Parameter
Class
Class type
Source
The library Fmlib supports functional programming in Ocaml with managed effects. It has the following components:
Fmlib_std Standard TypesFmlib_pretty Pretty PrintingFmlib_parse ParsingFmlib_browser Functional web applicationsFmlib_js Low level interface to javascript via js_of_ocamlAll libraries of Fmlib are prefixed by Fmlib_ to avoid nameclashes with any other used libraries.
Fmlib can be installed easily with the help of the ocaml package manager opam:
opam install fmlib
The components of Fmlib can be installed separately via opam.
The design and the implementation of some modules is described in this document.
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.