L-BFGS-B is a Fortran library for limited-memory quasi-Newton bound-constrained optimization written
by Ciyou Zhu, Richard Byrd, Jorge Nocedal and Jose Luis Morales. More information can be found on its
homepage http://users.eecs.northwestern.edu/~nocedal/lbfgsb.html, or in [1].

The L-BFGS-B Fortran code is not included in this package, as I consider it a dependency. This package expects to
be able to link against version 3.0 of the L-BFGS-B code, as built by a relatively recent version of gfortran.
Instructions on how to build L-BFGS-B as a shared library
can be found at http://nonempty.org/software/haskell-l-bfgs-b.

The functions provided in this package wrap FFI calls in unsafePerformIO, which among other things means that
the called L-BFGS-B code should not output anything. The relevant iprint flag is thus set negative to suppress
output as specified in the L-BFGS-B code. However, there are two places in said code where the flag is ignored
and output still occurs. If it bothers you that code exposed as pure prints things, see
http://nonempty.org/software/haskell-l-bfgs-b for information on a simple patch for L-BFGS-B. The SciPy project
has described the same behavior in https://github.com/scipy/scipy/issues/2261.