[Hello l4-hurd, I see you have been quiet lately.] On 2 February 2013 01:28, Nala Ginrut <nalagin...@gmail.com> wrote: > On Fri, 2013-02-01 at 16:40 +0000, Ian Price wrote: >> Heh, reimplementing coreutils in Scheme has been a plan of mine for a >> while, as part of justifying my Iteratees library, but that has taken a >> sideline to newer and shinier projects. >> > > Maybe another new project, say, rewrite GNU with Guile, include part of > HURD, heh? I even get the name, GoG, GNU on Guile. ;-P >
Something I have thought about for some time. Next on the TODO list :-) There is a paper by Rees, _A Security Kernel Based on the Lambda-Calculus_. It discusses a Lisp dialect, Scheme¯, similar to Scheme but with certain operations removed; in there place are some logical guarantees with implications for security for any code written in the dialect. This is used to construct a security kernel, W7, which becomes the basis for Scheme48 (a language supporting R5RS). I don't want to get in to the details of the paper, I think that many on this list will be familiar with it. Suffice to say that the security kernel provides concepts that closely map to a capability model. Also, verified processes can run within the same machine process and I wonder if this has implications for the communication overhead that microkernel systems tend to get labelled with. In theory the security kernel, core services, and any Scheme (and other) language programs should be able to reside in the same process without having to implement access restrictions beyond those implicit in the language. After bootstrapping my current pet project, I intend to explore the ideas in this paper as they relate to the Hurd. As I am quite fond of Guile I plan to proceed roughly as follows: - port Scheme¯ to the Guile language stack; - get W7 or something similar running on this; - implement required Hurd interfaces; - port some of the current Hurd servers and userland to the Scheme in this stack; - … - profit! Maybe bypassing the first stages and use Scheme48 instead. I believe having some sort of system running in Scheme would be very useful for exploring design and architectural issues, regardless of whether it is a practical or fast performing implementation. Anyone interested in collaborating on such a project, or have comments regarding the paper and the implications for the Hurd? Nala, you sound interested, and we will certainly benefit from some of the userland being ported as part of the Guile 100 Programs Project. Regards