|
|
|
|
|
by jcburke
4241 days ago
|
|
Wait, so they wrote their own bytecode, functional language (complete with compiler and libraries), functional operating system, TCP replacement, and distributed storage protocol? And will presumably write all their own apps, or some kind of interface layer that will allow non-Hoon code to run on their system efficiently? That has to be one of the most ridiculously ambitious projects I've ever seen. Good luck to them I guess, but I've always been a believer in not reinventing too many wheels at once |
|
Of course, Kloc is a deceptive measure of algorithmic simplicity in a functional language, if compared to procedural. Also there is about another 15Kloc of C in the interpreter and another 10K that wraps an event layer on libuv.
Bear in mind that Urbit can also be seen as an ACID database on the log-and-snapshot principle - events are transactions. You can of course export application state to some other storage system, but you don't have to. (If you change the source code, your app reloads - you do have to write a function that maps your old state to your new state, though.) So there is a lot of strange futzing around with mmap at the bottom.