Profile cover photo
Profile photo
Paolo Donadeo
A functional, sometimes lazy, programmer
A functional, sometimes lazy, programmer
About
Paolo's posts

Post has shared content

Post has shared content
"I have been asked whether an automatically-generated visitor, as produced by the visitors syntax extension for OCaml, can be used to construct an iterator.

It turns out that this can be done in a simple and efficient manner. (Up to a constant factor, the time complexity of this solution is optimal.) As the problem is interesting and its solution is somewhat nonobvious, I am describing them here..."

http://gallium.inria.fr/blog/from-visitors-to-iterators/index.html

Post has shared content

Post has attachment
Our new website!

Post has attachment
No more 100% CPU on my Nexus 5...

#IRC rulez! But even smoke signals are probably more reliable than Google Hangouts.
PhotoPhotoPhotoPhoto
2/13/17
4 Photos - View album

Post has shared content

Post has attachment
For italians only :-)

Post has shared content

Post has attachment
New minor release of ocaml-lens.

New feature in the ppx extension: with the option submodule = true a submodule Lens will be generated to avoid namespace pollution.

Thanks to @orbifx [1] for opening an issue [2] and to @didier-wenzek [3] for the implementation.


[1] https://github.com/orbifx
[2] https://github.com/pdonadeo/ocaml-lens/issues/5
[3] https://github.com/didier-wenzek

Post has shared content
Thanks to +Guillaume Bury and Simon Cruanes!

"I have the pleasure to announce the release of mSAT 0.6 [0], a modular SAT-solver library in pure OCaml. SAT solvers are useful for NP-complete constraint solving, and are commonly used directly in many tools (including the package manager of eclipse), or indirectly as part of SMT solvers (Satisfiability Modulo Theory).

mSAT is a modernized fork of alt-ergo-zero[1] that can be used both as a pure SAT solver, and as a building block for writing SMT solvers.
To write a SMT solver based on mSAT, there is a functor that can be
instantiated with a custom term structure and a custom theory
responsible for propagation, following the Lazy SMT framework. The
functor also provides an interface for MCSat-style solvers. mSAT is also proof-producing (it can output boolean resolution proofs), model-producing, and can output unsat-cores. Its flexibility and availability as an OCaml library make it useful for writing SMT solvers that feature experimental theories or theory implementations. The documentation can be found online [2].

Performance-wise, mSAT should be in the fast end of what OCaml makes possibles. Obviously, state of the art C solvers (minisat, picosat, etc.) are still much better.

mSAT is developed by Guillaume Bury and Simon Cruanes, and available on opam as "msat", under the permissive Apache license."

Notes:

[0] https://github.com/Gbury/mSAT
[1] http://cubicle.lri.fr/alt-ergo-zero/
[2] https://gbury.github.io/mSAT/
Wait while more posts are being loaded