[Haskell-cafe] OS design & FP aesthetics
goalieca at gmail.com
Mon Jun 18 22:35:27 EDT 2007
On 6/18/07, Creighton Hogg <wchogg at gmail.com> wrote:
> On 6/18/07, Andrew Coppin <andrewcoppin at btinternet.com> wrote:
> > Creighton Hogg wrote:
> > > Well, since we're on the subject and it's only the Cafe list, what is
> > > it that you find messy about Linux that you would want to be solved by
> > > some hypothetical Haskell OS?
> > This is drifting off-topic again, but here goes...
> Yeah, so I'll just split this off into a different thread.
> There are lots of things to like about Linux. It doesn't cost money.
> > It's fast. It's reliable. It's flexible. It's secure.
> Okay, I'm not sure if I'd agree with the reliable & secure points. I
> mean, relative to what could be done. I'm a rank amateur when it comes to
> OS work but when I've looked at recent papers Linux really isn't that
> cutting edge. I mean, it may be reliable in comparison to Windows 98 & has
> less known exploits than any Windows system, but in terms of how good it
> *could* be I think there's an awful lot of room for growth.
> > unfortunately it's still Unix. In other words, it's a vast incoherant
> > mess of largely incompatible ad-hoc solutions to individual problems
> > implemented independently by unrelated hackers over the 40+ years of
> > history that this software has been around. New software has to emulate
> > quirks in old software, and client programs work around the emulated
> > quirks in the new software to get the functionallity it actually wants.
> > One vast tangled mess of complexity and disorder. Exhibit A: Package
> > managers exist. Exhibit B: Autoconf exists. I rest my case.
> Okay, but these don't seem to really be design flaws so much as the
> inevitable results of age and the need for backwards compatibility. I'm
> looking more for technical problems that you would want to see fixed in our
> magical UberOS.
> An operating system should have a simple, clear, consistent design. Not
> > unlike a certain programming language named after a dead mathematition,
> > come to think of it...
> > (Have you ever programmed in C? You can certainly see where Unix gets
> > its features from - terse, cryptic and messy.)
> This is another thing we're just going to disagree on. I think C++ is a
> pretty messy language, but feel that straight up C is rather simple and
> elegant. I had only used C++ before, but a friend rather easily convinced
> me that C is in fact a very sexy language when used in its intended design
> Still, I don't have the skill to write a functioning operating system -
> > much less one that's "ready for the desktop" - so that's that I
> > suppose...
> > (I did seriously investigate the task once. Indeed, I got as far as
> > writing a bootloader. It worked too!)
> Would you mind sharing the code? I'd be interested.
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
While this isn't an operating system written in a functional programming
language it is quite an important part of one.
"NixOS is an experiment to see if we can build an operating system in which
software packages, configuration files, boot scripts and the like are all
managaed in a purely functional way, that is, they are all built by
deterministic functions and they never change after they have been built.",
One thing microsoft has being doing which is interesting is singularity. It
is a research OS done in .NET and is completely managed. It will be
interesting to see the effects of a managed runtime environment and quite
possibly open the door for a functional language to target the runtime.
I think operating systems, and software design in general, will be headed
towards integrating functional techniques from languages like Haskell into C
and C++. Google's map/reduce paper is an excellent example but so is Tim
Sweeney's talk on the future of video game design.
I suppose more importantly.. would haskell kernel be done as a microkernel
or a monolithic kernel ;-) Marketing it would be hard. Who would want to buy
a lazy os?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Haskell-Cafe