#5 - Melange + Dune, cross-compilation, streaming AWS Lambda payloads
Hey there,
Welcome to another issue! For the past few months, we've been working on integrating Melange in Dune. We recently reached a pretty significant milestone, which Javi shared on Twitter.
https://twitter.com/javierwchavarri/status/1644095370111098881
There's still lots of work to do: we're currently working towards a v1 release of Melange, which I'll write more about soon. In the meantime, having such a big codebase build with Melange provides much appreciated validation!
Thanks for reading this issue, and happy hacking! :-)
OCaml Land
- Daniel Bünzli announced
cmarkit
, a new, 0-dependency library that implements the CommonMark specification- At the same time, he shared a proof of concept for writing OCaml documentation in markdown, using cmarkit in
odoc
- At the same time, he shared a proof of concept for writing OCaml documentation in markdown, using cmarkit in
- I made a diagram illustrating the order of
ppxlib
preprocessing phases. - I've been interested in cross-compiling OCaml code for a little while. In fact, this is what prompted my experimentations with the nix-ocaml overlays.
- I recently worked on some cross-compilation fixes that I'll highlight here:
- install cross-compiled packages when -x
TOOLCHAIN
is present - find PPX dependencies in the host context
- PPX executables need to run in the host architecture when cross-compiling. Now dune finds their dependencies in the correct context.
- resolve
ppx_runtime_libraries
in the target context- conversely,
ppx_runtime_libraries
need to be resolved in the target architecture
- conversely,
- respect
$PKG_CONFIG
- if set, Dune now respects
$PKG_CONFIG
rather than trying to find apkg-config
binary in$PATH
. In cross-compilation scenarios, this binary will be called e.g.aarch64-unknown-linux-gnu-pkg-config
.
- if set, Dune now respects
- take host
findlib.conf
into account- Dune now respects the host
findlib.conf
configuration when resolving libraries and finding binaries. Previously it would only look at the toolchain's[tolchain].conf
file.
- Dune now respects the host
- install cross-compiled packages when -x
- I recently worked on some cross-compilation fixes that I'll highlight here:
Random
- AWS Lambda has announced support for response payload streaming, something which has been at the top of feature requests.
- I haven't tested yet, but it looks like it won't be too hard to support it in
aws-lambda-ocaml-runtime
- I haven't tested yet, but it looks like it won't be too hard to support it in
- Meta released Buck2, the successor to their Buck build system
- One of Buck2's main authors is a co-author on Build systems a la carte
- It sounds like Andrey Mokhov went on to design Dune, while Neil Mitchell worked on Buck2
- One of Buck2's main authors is a co-author on Build systems a la carte
Don't miss what's next. Subscribe to Last Week in anmonteiro's OSS: