Hacker Timesnew | past | comments | ask | show | jobs | submitlogin

I'm confused. If you're writing OCaml in the first place, why not just directly run it on MirageOS?

The obvious benefit of a JS VM unikernel is that you get to write your application in JavaScript...



It's not clear to me and I don't have any experience with unikernels, so please accept my grain of salt and I apologize if I misspeak.

If you're starting with MirageOS, then obviously makes sense to just run MirageOS a bare-metal hypervisor. But if you're starting with the assumption that you will be running in a JS VM, then you have two options: build a unikernel in JS, or compile one to JS. The later option (MirageOS compiled to JS) also happens to leave open the possibility of easily being ran on a bare metal hypervisor with the unikernel implementation itself also running on bare metal (without a language level virtual machine) - because OCaml executes without a language level virtual machine (it's more like C++ in that sense).

> The obvious benefit of a JS VM unikernel is that you get to write your application in JavaScript...

What are some reasons why that would be a good thing in the case of unikernels? (I'm genuinely asking) The type system and invariants that it enforces are one of the things that makes OCaml based unikernels such a compelling idea to me. JavaScript, although I obviously find it useful for many things, doesn't seem to have as much appeal in this case.

Relevant to security: See MirageOS's Bitcoin Pinata project: http://amirchaudhry.com/bitcoin-pinata/

Edit: Again, it's still cool to see this project, and it's a great way to get more people experimenting with the idea of unikernels.


> What are some reasons why [using JS] would be a good thing in the case of unikernels?

The same reason it would be a good thing to use JS under any circumstances: there's already a huge supply of developers familiar with it and its ecosystem, it's available on pretty much every platform (now including at least one dedicated unikernel environment), it's a natural fit for web application development, and so on.

It's clear why unikernels and OCaml go together so nicely: immutability is a concept central to them both.

That said, the affordances of using a unikernel seems fairly orthogonal to the choice of language, IMO.


> it's available on pretty much every platform

And now so is OCaml, Elm, PureScript, C++, and anything else that compiles to JS.

> it's a natural fit for web application development, and so on.

Now that other languages are beginning to compile to JS, they are also becoming increasingly natural for web app development.

> there's already a huge supply of developers familiar with it and its ecosystem.

This is definitely true.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: