From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 In-Reply-To: References: <542783.92348.qm@web83904.mail.sp1.yahoo.com> <55D72913-15FB-415F-BE43-7D173E0AC449@storytotell.org> <7AAFE4127E1DB57785BB273A@192.168.1.2> <3e1162e60909052038j78af61c1m95c0db2a5bd66509@mail.gmail.com> Date: Sun, 6 Sep 2009 11:44:32 -0700 Message-ID: <3e1162e60909061144k162905b3nae82920ba651f4c@mail.gmail.com> From: David Leimbach To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Type: multipart/alternative; boundary=000e0cd59a0ac692390472ed1f58 Subject: Re: [9fans] nice quote Topicbox-Message-UUID: 66daea14-ead5-11e9-9d60-3106f5b1d025 --000e0cd59a0ac692390472ed1f58 Content-Type: text/plain; charset=ISO-8859-1 On Sun, Sep 6, 2009 at 11:29 AM, Tim Newsham wrote: > Well I can think of 3 operating systems written in Haskell now. One was an >> executable specification for validating a secure L4 implementation. One >> is >> hOp, and then there's also House, based on hOp. >> > > Keep in mind that House and hOp both used the ghc runtime (written in C) as > a base. I would argue that this is most of the "OS". The seL4 spec is more > like an operating system simulation than an operating system (or more > accurately it is a spec that can be executed). > I suppose this is true, though I thought GHC's runtime was still mostly Haskell. (haven't looked, but one would think porting GHC would be a lot simpler if it was in all C). > > I'm not familiar with the other projects you mention. Thank you, > I'll check em out... > > I've been writing a good bit of Haskell these days at work as well, mainly >> due to the fact that it's possible to write some fairly sophisticated code >> quickly, and even get pretty darned good performance out of it. >> > > I'm a big fan. Just want to make sure the hype isn't overblown. Oh I agree with your point of view. I even write some code in C, and make Haskell bindings for it still today when Haskell seems like too much of a pain to use (like a ring buffer implementation I did). I'm a big fan of multi-paradigm programming. I've got Erlang calling Haskell and C++ in a system we actually deploy at work. Pick the weapon that's easiest to express the algorithms you need correctly in, and *then* measure performance to make sure everything is still ok. I do this for the same reasons people say C makes assembly mostly obsolete. Why work the low level stuff if the heavy lifting can be done for you in advance. Dave > > > Tim Newsham > http://www.thenewsh.com/~newsham/ > > --000e0cd59a0ac692390472ed1f58 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable

On Sun, Sep 6, 2009 at 11:29 AM, Tim New= sham <newsham@lava= .net> wrote:
Well I can think of 3 operating systems written in Haskell now. =A0One was = an
executable specification for validating a secure L4 implementation. =A0One = is
hOp, and then there's also House, based on hOp.

Keep in mind that House and hOp both used the ghc runtime (written in C) as= a base. =A0I would argue that this is most of the "OS". The seL4= spec is more like an operating system simulation than an operating system = (or more accurately it is a spec that can be executed).

I suppose this is true, though I thought G= HC's runtime was still mostly Haskell. (haven't looked, but one wou= ld think porting GHC would be a lot simpler if it was in all C).
=A0

I'm not familiar with the other projects you mention. =A0Thank you,
I'll check em out...

I've been writing a good bit of Haskell these days at work as well, mai= nly
due to the fact that it's possible to write some fairly sophisticated c= ode
quickly, and even get pretty darned good performance out of it.

I'm a big fan. =A0Just want to make sure the hype isn't overblown.<= /blockquote>

Oh I agree with your point of view. =A0I ev= en write some code in C, and make Haskell bindings for it still today when = Haskell seems like too much of a pain to use (like a ring buffer implementa= tion I did).

I'm a big fan of multi-paradigm programming. =A0I&#= 39;ve got Erlang calling Haskell and C++ in a system we actually deploy at = work. =A0Pick the weapon that's easiest to express the algorithms you n= eed correctly in, and *then* measure performance to make sure everything is= still ok. =A0

I do this for the same reasons people say C makes assem= bly mostly obsolete. =A0Why work the low level stuff if the heavy lifting c= an be done for you in advance.

Dave
=A0<= /div>

--000e0cd59a0ac692390472ed1f58--