Blog
The OCaml Planet
Articles and videos contributed by both experts, companies and passionate developers from the OCaml community. From in-depth technical articles, project highlights, community news, or insights into Open Source projects, the OCaml Planet RSS feed aggregator has something for everyone.
Want your Blog Posts or Videos to Show Here?
To contribute a blog post, or add your RSS feed, check out the Contributing Guide on GitHub.
Distributing OCaml software on opam is great (if I dare say so myself), but sometimes you need to provide your tools to an audience outside of the OCaml community, or just without recompilations or in a simpler way. However, just distributing the locally generated binaries requires that the users ha...
James Somers is Jane Street’s writer-in-residence, splitting his time between English and OCaml, and helping to push forward all sorts of efforts around knowledge-sharing at Jane Street. In this episode, James and Ron talk about the role of technical writing in an organization like Jane Street, and how engineering software relates to editing prose. Some links to topics that came up in the discussion: mdx, the modified Markdown format that supports executing OCaml code blocks: https://github.com/realworldocaml/mdx More on the 4 types of technical writing that James references: https://documentation.divio.com/introduction/ Donald Knuth’s original book on Literate Programming: https://en.wikipedia.org/wiki/Literate_programming More on John McPhee’s use of KEDIT: https://www.newyorker.com/magazine/2013/01/14/structure Peter Seibel’s Coders at Work: https://codersatwork.com/ David Goodsell’s The Machinery of Life: https://books.google.com/books/about/The_Machinery_of_Life.html?id=0nV-mIqPa5gC Scott Huler’s Defining the Wind: https://books.google.com/books?id=oqGUXPWbieMC Some of James’s writing on our tech blog: https://blog.janestreet.com/author/jsomers/ You can find the transcript for this episode and all past episodes at signalsandthreads.com.
James Somers is Jane Street’s writer-in-residence, splitting his time between English and OCaml, and helping to push forward all sorts of efforts around knowledge-sharing at Jane Street. In this episode, James and Ron talk about the role of technical writing in an organization like Jane Street, and how engineering software relates to editing prose. Some links to topics that came up in the discussion: mdx, the modified Markdown format that supports executing OCaml code blocks: https://github.com/realworldocaml/mdx More on the 4 types of technical writing that James references: https://documentation.divio.com/introduction/ Donald Knuth’s original book on Literate Programming: https://en.wikipedia.org/wiki/Literate_programming More on John McPhee’s use of KEDIT: https://www.newyorker.com/magazine/2013/01/14/structure Peter Seibel’s Coders at Work: https://codersatwork.com/ David Goodsell’s The Machinery of Life: https://books.google.com/books/about/The_Machinery_of_Life.html?id=0nV-mIqPa5gC Scott Huler’s Defining the Wind: https://books.google.com/books?id=oqGUXPWbieMC Some of James’s writing on our tech blog: https://blog.janestreet.com/author/jsomers/ You can find the transcript for this episode and all past episodes at signalsandthreads.com.
Semgrep, which stands for “semantic grep,” is a fast, lightweight, polyglot, open source static analysis tool to find bugs and enforce code standards. It is used internally by many companies including Dropbox and Snowflake. Semgrep is also now use...
We present Binary Analysis Platform (BAP), a representation-agnostic program analysis framework for binaries that can leverage existing tools, libraries, and frameworks, no matter which intermediate representation (IR) they use. In BAP, a new IR c...
We will present a property-based testing framework for OCaml that leverages the power of QuickChick, a popular and mature testing plugin for the Coq proof assistant, by automatically constructing a extraction-based shim between OCaml and Coq. That...
If values of a given type are stored on disk, or are sent between different executables, then changing that type or its serialization can result in versioning issues. Often such issues are resolved by either making the deserializer more permissiv...
OCaml relies on a type-agnostic object representation centred around values which unify odd integers and aligned pointers. The last bit of a value distinguishes the two variants: zero indicates a pointer on the OCaml heap, while one encodes a ta...
We present Love, a smart contract language embedded in the Dune Network blockchain. It benefits from an OCaml-like syntax and a system-F inspired type system. Love has been used for deploying complex services such as games, ERC20s, atomic swaps, e...