I really would like promote also the book we written available here: https://robur-coop.github.io/miou/ which explains everything to know about Miou, schedulers, parallelism and asynchronicity. Happy hacking!
Bob was updated with the last version of Cosmopolitan 3.1! We have a full (and native) support of Apple Silicon computers now. You can try out here: https://bob.osau.re#OCaml#portability#file
And, yes, this is the end of my vacation! After one year of doing some #OCaml stuff at http://robur.coop, I would like to synthesis what is going on about #unikernels and #MirageOS!
First, @hannesm restarted our famous #MirageOS retreat. You can see some articles here: https://retreat.mirage.io. A new retreat is organized this November and if you have the time to meet #OCaml users and would like to enjoy this particular moment, please come!
We also still continue to maintain our qubes-mirage-firewall with the help of Pierre Alain (big thank to him). It is one of our most used unikernel and probably the oldest: https://github.com/mirage/qubes-mirage-firewall
It also shows our ambition to produce and maintain software over the long term. The hype of a new piece of software is always welcome, but we have to commit to our users a certain responsibility over the long term.
This year at Robur gives me the opportunity to implement Bob (https://bob.osau.re), an universal peer to peer file-transfer software in #OCaml with an #unikernel! Now, it supports #Tor and we still have some plans for this software (UDP/NORM protocol).
Moreover, we pay crucial attention about security flaws on #opam for the community and we would like to thank Raja (OCamlPro
) for her investment in our proposals.
We started to talk about some ongoing proposals with the OCaml foundation (OCamlFoundation
) too to improve security aspects on the OCaml community. I would like to point our previous effort on #reproducible builds (https://builds.robur.coop)
A full tutorial is available on my blog: https://blog.osau.re The project is still experimental but: we are able to exchange some emails with Gmail which is a huge milestone! And we would like to continue to improve it and deploy that for our http://robur.coop domain.
It is also not a secret that we started to implement miou (https://github.com/roburio/miou) which is more in-line with our perspectives about unikernels/protocol implementations and our opinions about community driven library.
It is a basic #OCaml scheduler with #effects. We are aware that this is an area that is under pressure from other competitors, but we believe that there is always room for a less opinionated and simpler vision about how to schedule tasks.
We also started some work with Semgrep (https://semgrep.dev) and helped them with our expertise about OCaml. We would like to thank them for their trust and we enjoyed working with them.
I was musing through a somewhat related question earlier, which is less "what is in the stdlib" and more "what do you grab if you need $X."
For example, in Java there are a set of packages that, while not default, are incredibly common right out of the gate (slf4j, guava, etc) and others that are basically "canonical starting points for problem $X" even if you don't ultimately end with them.
@hrefna yes that's indeed the major critic of the OCaml community, no standard library, plenty of the "same" library (which implement the same goal). However, this critic avoids a main advantage of the OCaml community: we don't have monopoly situation. Let me flip the situation. 1/
Most of the examples I found for #GADT s in #OCaml made my head spin—it seemed very compiler theory heavy, which is fine if you are writing a compiler but I'm usually not—but then I read Yaron Minsky ( @yminsky )'s blog post on the matter and it clicked for me both what they were in the OCaml system and how to use them effectively.
Very well written and a nice clean explanation with good examples.