I love this post! I couldn't resist spelunking through the git history back to MirageOS 1.0 (pre functoria), and spotted the Hello World from there:
https://github.com/mirage/mirage/blob/e7906f49c462a74cb39f4403bec32a04c17a6398/lib_test/console/config.ml https://github.com/mirage/mirage/blob/e7906f49c462a74cb39f4403bec32a04c17a6398/lib_test/console/handler.ml which looks pleasingly similar to the 2.0 hello world. I think we separated out the Lwt signatures, and then re-merged them back in a few releases later. I'll see if I can dig out the artefacts from the original ASPLOS paper (in about 2012), which was (at that point) a 150kB DNS unikernel. It used bytecode and a dead code elimination patch against OCaml 4.01 to really squeeze out the unnecessary bytes, but it was still pretty performant as well. -- Anil Madhavapeddy, Professor of Planetary Computing (anil.recoil.org) Computer Laboratory, University of Cambridge (www.cst.cam.ac.uk) > On 22 Oct 2024, at 11:54, Hannes Mehnert <han...@mehnert.org> wrote: > > Dear valued MirageOS hacker, > > it is my pleasure - we just published a blog article on Mirage Runtime > Arguments (https://blog.robur.coop/articles/arguments.html), which includes a > (brief) history of Hello World and their changes. > > You can lean back and take 2 minutes to watch https://asciinema.org/a/681922 > - the evolution of a decade of Hello World MirageOS unikernel. I'm sure there > are earlier versions around that are missing -- if you have anything locally, > don't hesitate to send them (preferably with a date and MirageOS release > version) ;) > > Should we restart (bi?)weekly MirageOS meetings? > > > My pleasure. Have a wonderful autumn day (at least in the Northern > hemisphere), > > Hannes >