Do you have a link to House? I wish people naming projects would realize that the Internet is dead and all we have is the Googlenet...
Do you have a link to House? I wish people naming projects would realize that the Internet is dead and all we have is the Googlenet...
Here's what I've got, pasted out of my notes:
House has been successfully implemented in Haskell, I'd assume that Haskell would fit your criteria. Admittedly, House is an experimental OS, rather than production one. But they have managed to implement everything from kernel though network stack, to a rudimentary GUI. [link broken, see search results below] 2005 http://lambda-the-ultimate.org/node/943
House is a demo of software written in Haskell, running in a standalone environment. It is a system than can serve as a platform for exploring various ideas relating to low-level and system-level programming in a high-level functional language. More details are available in our ICFP 2005 paper: A Principled Approach to Operating System Construction in Haskell. http://ogi.altocumulus.org/~hallgren/ICFP2005/ http://programatica.cs.pdx.edu/House/
terse wikipedia article on House http://en.wikipedia.org/wiki/House_(operating_system)
short LTU thread on functional systems programming http://lambda-the-ultimate.org/node/943
...oh, also there's a book, "Unix System Programming with Standard ML" by Anthony L. Shipman 2001
Was free online, link is broken, available via archive.org:
http://web.archive.org/web/20040531113417/web.access.net.au/... http://web.archive.org/web/20040531113417/web.access.net.au/...
I just found that, have not read it.
Urbit is intended to run virtually in the cloud and is an OS only in the sense of "stores your data and runs arbitrary programs". As a cloud computer its "function" is simply (old state, packet in) -> (new state, packets out). For communicating with the host OS this generalizes to "event in" and "actions out." Eg, I got an HTTP connection so I send an HTTP response. So not only isn't it done, it isn't even very smart... but it is a function and it is an OS.