During the interview with Alexey Shchepin we had last week, the author of ejabberd mentioned Jamler. Did you notice?
Jamler is an experimental XMPP server, developed mainly in 2011 as an attempt to rewrite ejabberd in OCaml. The goal was to see how static typing would affect ejabberd and its code originally written in Erlang, which has dynamic typing. OCaml is an industrial-strength programming language supporting functional, imperative and object-oriented styles.
As ejabberd has evolved a lot since 2011, that’s why you should use ejabberd 2.1.8 to compare it to Jamler. In 2020, Jamler has been updated to use the latest versions of OCaml and libraries, but no new features were added.
However, we still think it’s valuable to release Jamler as open source. Today, we share with you the public GitHub repository containing Jamler’s code. Containing 630KB of OCaml and 13KB of C, it should be an interesting read to anyone developing real-time solutions in OCaml, or curious about the impact of static typing on code constructs migrated from Erlang.
Photo by Wolfgang Hasselmann on Unsplash