If you want to build a system that can survive out-of-memory conditions, you need to implement init so that it doesn&#x27;t allocate memory at semi-random moments. Both Go and OCaml will fight you on that requirement. (IIRC, Go is designed to allocate memory the moment your stack grows too deep - which is <i>usually</i> a good idea, but not here.)<p>Of course, very few Unices actually survive out-of-memory - Linux runs an OOM killer by default, OpenBSD tends to crash the kernel, etc. Apparently Solaris does have a good story here. (Of course, you&#x27;d have to ensure that the system doesn&#x27;t spend all its time swapping, regardless.)