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
> 

Reply via email to