How many "Haskell Engineer I/II/III"s are there?

Although I'm fond of Haskell, in practice I am not a Haskell programmer -- I'm paid for Ruby and Bourne shell programming. Many of the jobs posted on this list end up being jobs for people who appreciate Haskell but will work in C# or O'Caml or some-such. I wonder how many people actually write Haskell, principally or exclusively, at work? -- Jason Dusek

I do. On Feb 10, 2010, at 6:59 PM, Jason Dusek wrote:
Although I'm fond of Haskell, in practice I am not a Haskell programmer -- I'm paid for Ruby and Bourne shell programming.
Many of the jobs posted on this list end up being jobs for people who appreciate Haskell but will work in C# or O'Caml or some-such.
I wonder how many people actually write Haskell, principally or exclusively, at work?
-- Jason Dusek _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

On Wed, Feb 10, 2010 at 9:59 AM, Jason Dusek
I wonder how many people actually write Haskell, principally or exclusively, at work?
While I don't suspect the number is large at the moment, the same thing could have been said several years ago of the language I use at my current job and used at my last job: Python. I get the same "industrial incubation period vibe" (for lack of a better term) from Haskell that I once got from Python -- although perhaps I'm biased in that I simply *like* these languages, too. :p

2010/02/10 Tom Tobin
On Wed, Feb 10, 2010 at 9:59 AM, Jason Dusek
wrote: I wonder how many people actually write Haskell, principally or exclusively, at work?
While I don't suspect the number is large at the moment, the same thing could have been said several years ago of the language I use at my current job and used at my last job: Python. I get the same "industrial incubation period vibe" (for lack of a better term) from Haskell that I once got from Python -- although perhaps I'm biased in that I simply *like* these languages, too. :p
I completely agree. I'm just trying to figure out where on the growth curve we are :) I am also interested in what industries tend to aggregate Haskell programmers. Within the Bay Area webosphere, Haskell is not much liked though Scala is gaining some traction. I think this has a lot to do with the fact that web programming is very much a "let's go shopping" kind of discipline -- no point in troubling oneself over correctness when the users haven't weighed in on the worth of your site. Of course this attitude leads to a long maintenance phase of Crazy Stuff®, like writing a PHP compiler; but by then you have piles of money to throw at the problem! Such is the theory, anyways. -- Jason Dusek

I think this has a lot to do with the fact that web programming is very much a "let's go shopping" kind of discipline -- no point in troubling oneself over correctness when the users haven't weighed in on the worth of your site. Of course this attitude leads to a long maintenance phase of Crazy Stuff®, like writing a PHP compiler; but by then you have piles of money to throw at the problem! Such is the theory, anyways.
Or have sold your startup to some other company. Matthias.

I used Haskell for some Research & Development work at Deutsche Bahn, earlier. (But my program was not integrated with their other systems.)

Not using it yet, but there's been a large amount of interest and
willingness to work with it from management. We're contractors, so it
depends on us finding some one who will allow us to use the language or asks
for it explicitly.
On Wed, Feb 10, 2010 at 10:59 AM, Jason Dusek
Although I'm fond of Haskell, in practice I am not a Haskell programmer -- I'm paid for Ruby and Bourne shell programming.
Many of the jobs posted on this list end up being jobs for people who appreciate Haskell but will work in C# or O'Caml or some-such.
I wonder how many people actually write Haskell, principally or exclusively, at work?
-- Jason Dusek _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Using it at the day job currently... like I need to get back to it.
On Wed, Feb 10, 2010 at 8:22 AM, John Van Enk
Not using it yet, but there's been a large amount of interest and willingness to work with it from management. We're contractors, so it depends on us finding some one who will allow us to use the language or asks for it explicitly.
On Wed, Feb 10, 2010 at 10:59 AM, Jason Dusek
wrote: Although I'm fond of Haskell, in practice I am not a Haskell programmer -- I'm paid for Ruby and Bourne shell programming.
Many of the jobs posted on this list end up being jobs for people who appreciate Haskell but will work in C# or O'Caml or some-such.
I wonder how many people actually write Haskell, principally or exclusively, at work?
-- Jason Dusek _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

I wonder how many people actually write Haskell, principally or exclusively, at work?
I suppose you're implying non-academic jobs by that statement, but most of the people in my research group develop programs in Haskell on a daily basis. You'll find a number of libraries on Hackage from us. http://www.cs.uu.nl/staff/cur/IDX/sds.html As a shameless plug, I will also add that we have a great master's program in which you can get your fill of Haskell and compilers, among other things. http://www.cs.uu.nl/wiki/Master/ As second (but related) shameless plug, we also have a two-week-long summer school which is an excellent way to jump-start the above master's program or to get quickly up to speed on Haskell for business or pleasure. The course is in August, and the deadline is May 1. http://www.utrechtsummerschool.nl/index.php?type=courses&code=H9 Regards, Sean

Hi Sean, about the Haskell Summer School, who can participate and what does it cost? Günther Am 10.02.10 17:26, schrieb Sean Leather:
I wonder how many people actually write Haskell, principally or exclusively, at work?
I suppose you're implying non-academic jobs by that statement, but most of the people in my research group develop programs in Haskell on a daily basis. You'll find a number of libraries on Hackage from us.
http://www.cs.uu.nl/staff/cur/IDX/sds.html
As a shameless plug, I will also add that we have a great master's program in which you can get your fill of Haskell and compilers, among other things.
http://www.cs.uu.nl/wiki/Master/
As second (but related) shameless plug, we also have a two-week-long summer school which is an excellent way to jump-start the above master's program or to get quickly up to speed on Haskell for business or pleasure. The course is in August, and the deadline is May 1.
http://www.utrechtsummerschool.nl/index.php?type=courses&code=H9 http://www.utrechtsummerschool.nl/index.php?type=courses&code=H9
Regards, Sean
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Hi Günther,
about the Haskell Summer School,
who can participate and what does it cost?
As second (but related) shameless plug, we also have a two-week-long
summer school which is an excellent way to jump-start the above master's program or to get quickly up to speed on Haskell for business or pleasure. The course is in August, and the deadline is May 1.
http://www.utrechtsummerschool.nl/index.php?type=courses&code=H9
The link above has all the details (more than I do) on the Utrecht Summer School for Applied Functional Programming. I don't believe there are any restrictions on who can participant, though the course is geared towards advanced bachelor's and beginning master's students. Since there are a limited number of spots, an applicant should try to put together a convincing application (e.g. write a good letter of motivation). Regards, Sean

Hello Jason, Wednesday, February 10, 2010, 6:59:42 PM, you wrote:
I wonder how many people actually write Haskell, principally or exclusively, at work?
i work on commercial program. once it will start selling, i will publish here the story -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com

Jason Dusek wrote:
Although I'm fond of Haskell, in practice I am not a Haskell programmer -- I'm paid for Ruby and Bourne shell programming.
Many of the jobs posted on this list end up being jobs for people who appreciate Haskell but will work in C# or O'Caml or some-such.
I wonder how many people actually write Haskell, principally or exclusively, at work?
I usually estimate the answer to this question by looking up how many employees WellTyped.com and Galois.com have between them, under the simplifying assumption that the number of other people using Haskell is probably so utterly insignificant that it doesn't matter. I'd love to see Haskell become popular, but it doesn't seem to be in any rush to happen just yet. (Then again, I gather 10 years ago things were far, far worse than they are today...) Some people (especially C programmers) have tried to tell me that Haskell is too slow. Others have claimed it's too incomprehensible. "People inherantly thing sequentially, not set-theoretically" they say. (Last time I checked, nobody's complaining about SQL being unintuitive...) "People don't think recursively" is another commonly-sited objection. Still others point out that Haskell is a *pure* functional language, and all the most popular languages are hybrids. Eiffel is a pure-OO language, but the hybrids like Java and C++ far vastly more popular. I myself might point out the comparative immaturity of things on Windows (the single biggest target platform on the market), and the rough edges on tools like Darcs, Haddock and Cabal. If enough people become interested, all these things could (and hopefully would) be fixed. It's a question of whether we reach the necessary critical mass or not...

We could/should probably all just start our own collective (corporate) entity to produce software, based on the premises that 1) software built with Haskell will be more robust, and 2) software built by developers who have an affinity and aptitude for this language will tend to write better software. When the products themselves gain a positive reputation with the general public, then the corporation itself and those invested will benefit. .... cheers heard across the world .... A U.S. president would probably subsidize such a job-creating endeavor too! Nay-sayers are probably predominately composed of those who do not understand it or its benefits.
Date: Wed, 10 Feb 2010 19:26:22 +0000 From: andrewcoppin@btinternet.com To: haskell-cafe@haskell.org Subject: Re: [Haskell-cafe] How many "Haskell Engineer I/II/III"s are there?
Jason Dusek wrote:
Although I'm fond of Haskell, in practice I am not a Haskell programmer -- I'm paid for Ruby and Bourne shell programming.
Many of the jobs posted on this list end up being jobs for people who appreciate Haskell but will work in C# or O'Caml or some-such.
I wonder how many people actually write Haskell, principally or exclusively, at work?
I usually estimate the answer to this question by looking up how many employees WellTyped.com and Galois.com have between them, under the simplifying assumption that the number of other people using Haskell is probably so utterly insignificant that it doesn't matter.
I'd love to see Haskell become popular, but it doesn't seem to be in any rush to happen just yet. (Then again, I gather 10 years ago things were far, far worse than they are today...)
Some people (especially C programmers) have tried to tell me that Haskell is too slow. Others have claimed it's too incomprehensible. "People inherantly thing sequentially, not set-theoretically" they say. (Last time I checked, nobody's complaining about SQL being unintuitive...) "People don't think recursively" is another commonly-sited objection. Still others point out that Haskell is a *pure* functional language, and all the most popular languages are hybrids. Eiffel is a pure-OO language, but the hybrids like Java and C++ far vastly more popular. I myself might point out the comparative immaturity of things on Windows (the single biggest target platform on the market), and the rough edges on tools like Darcs, Haddock and Cabal. If enough people become interested, all these things could (and hopefully would) be fixed. It's a question of whether we reach the necessary critical mass or not...
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Hear hear.
But a few successful happstack private sector startups could change that...
2010/2/10 Jason Dusek
2010/02/10 Roderick Ford
: A U.S. president would probably subsidize such a job-creating endeavor too!
The US government generally subsidizes these kinds of things through DoD spending (and a few NSF grants). That is probably hard to get into.
-- Jason Dusek _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

On Wed, Feb 10, 2010 at 4:59 PM, Jason Dusek
I wonder how many people actually write Haskell, principally or exclusively, at work?
Roel and I use Haskell at work. We develop embedded software in Haskell (not real-time) that controls a scientific instrument. We will probably write something more detailed about this project some time from now. regards, Roel and Bas van Dijk

v.dijk.bas:
On Wed, Feb 10, 2010 at 4:59 PM, Jason Dusek
wrote: I wonder how many people actually write Haskell, principally or exclusively, at work?
Roel and I use Haskell at work.
We develop embedded software in Haskell (not real-time) that controls a scientific instrument.
We will probably write something more detailed about this project some time from now.
This is a great thread. Perhaps more users could add their details to http://haskell.org/haskellwiki/Haskell_in_industry and consider presenting at CUFP this year. http://cufp.galois.com (new website to be launched soon!) -- Don

On Wed, Feb 10, 2010 at 9:50 PM, Don Stewart
... Perhaps more users could add their details to http://haskell.org/haskellwiki/Haskell_in_industry ...
done

consider presenting at CUFP this year
Any word on when this will be?
On Wed, Feb 10, 2010 at 3:50 PM, Don Stewart
v.dijk.bas:
On Wed, Feb 10, 2010 at 4:59 PM, Jason Dusek
wrote: I wonder how many people actually write Haskell, principally or exclusively, at work?
Roel and I use Haskell at work.
We develop embedded software in Haskell (not real-time) that controls a scientific instrument.
We will probably write something more detailed about this project some time from now.
This is a great thread. Perhaps more users could add their details to
http://haskell.org/haskellwiki/Haskell_in_industry
and consider presenting at CUFP this year. http://cufp.galois.com (new website to be launched soon!)
-- Don _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

John Van Enk:
consider presenting at CUFP this year
Any word on when this will be?
It'll be before or after (I suspect the later) ICFP http://www.icfpconference.org/icfp2010/, which is September 27-29 in Baltimore, Maryland. Manuel

In my previous job, which recently ended, we used Haskell for
at least half of our code, and most of our core stuff.
I ended up writing a lot of Java, too, but you take the good,
you take the bad.
-James
On Wed, Feb 10, 2010 at 10:59 AM, Jason Dusek
Although I'm fond of Haskell, in practice I am not a Haskell programmer -- I'm paid for Ruby and Bourne shell programming.
Many of the jobs posted on this list end up being jobs for people who appreciate Haskell but will work in C# or O'Caml or some-such.
I wonder how many people actually write Haskell, principally or exclusively, at work?
-- Jason Dusek _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

jason.dusek:
Although I'm fond of Haskell, in practice I am not a Haskell programmer -- I'm paid for Ruby and Bourne shell programming.
Many of the jobs posted on this list end up being jobs for people who appreciate Haskell but will work in C# or O'Caml or some-such.
I wonder how many people actually write Haskell, principally or exclusively, at work?
Galois is a 100% Haskell shop, and we're around 40 people now - not all are engineers though. At the Commercial Users of FP workshop this year, when asked to raise their hands what FP languages people used at work, the majority of the room (60 people? / 120 in the room -- check the video) said they'd used Haskell at work. More than any of the other FP langs present (we also asked about Erlang, OCaml, Scheme, F#). -- Don

On Wed, Feb 10, 2010 at 16:59, Jason Dusek
I wonder how many people actually write Haskell, principally or exclusively, at work?
We (typLAB) use Haskell. There's four of us, but only two actually program Haskell, and not exclusively. We also use Javascript in the browser (though we use functional programming techniques there as well). Erik

On 02/10/2010 04:59 PM, Jason Dusek wrote:
I wonder how many people actually write Haskell, principally or exclusively, at work?
Well, my main language at work in the moment is C++, we also use Java, a lot of Tcl and Python. I use Haskell for my own programs and test utilities / converters. The biggest achievement at work was an Installer program, which was quite complicated and had to be safe and of course we had time pressure, so I quickly coded it in Haskell. It is now used in the installation procedure of a part from a big mission control system for satellites. lg, Michael

I am working on an analytics server with a web front end. Being a
personal endeavor at this time, I can choose any language that I
fancy. I love Haskell and have achieved a modicum of proficiency with
many years of following along. I spent a few weeks of serious Haskell
prototyping and came to the realization that Haskell has a very steep
learning curve to become truly proficient in it. The basics are easy,
the various typeclasses can be understood with some study. But, there
are thousands of packages on Hackage and not much documentation on
most them. Another issue for me is the lack of a cohesive
infrastructure for working with web services.
Now my work has shifted to Clojure. I like it so far but I miss the
elegance of Haskell. Whether Haskell becomes an easy choice for
commercial work or remains a boutique language depends on how easy it
is to build today's applications.
But, I still love Haskell :)
Praki
On Thu, Feb 11, 2010 at 1:39 AM, Michael Oswald
On 02/10/2010 04:59 PM, Jason Dusek wrote:
I wonder how many people actually write Haskell, principally or exclusively, at work?
Well, my main language at work in the moment is C++, we also use Java, a lot of Tcl and Python.
I use Haskell for my own programs and test utilities / converters. The biggest achievement at work was an Installer program, which was quite complicated and had to be safe and of course we had time pressure, so I quickly coded it in Haskell. It is now used in the installation procedure of a part from a big mission control system for satellites.
lg, Michael
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Hello,
elegance of Haskell. Whether Haskell becomes an easy choice for commercial work or remains a boutique language depends on how easy it is to build today's applications.
Do you (or anyone reading this thread) know of some kind of wishlist of missing features and/or libraries? Would be nice to see what's still "missing". - Michael

I need to be able to swap out the RTS. The place I want to stick Haskell
absolutely needs its own custom RTS, and currently, I don't think it's all
that easy or clean to do that.
Am I wrong? Are there resources describing how to do this already?
/jve
On Thu, Feb 11, 2010 at 10:12 AM, Michael Lesniak
Hello,
elegance of Haskell. Whether Haskell becomes an easy choice for commercial work or remains a boutique language depends on how easy it is to build today's applications.
Do you (or anyone reading this thread) know of some kind of wishlist of missing features and/or libraries? Would be nice to see what's still "missing".
- Michael _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

On Thu, Feb 11, 2010 at 6:30 PM, John Van Enk
I need to be able to swap out the RTS. The place I want to stick Haskell absolutely needs its own custom RTS, and currently, I don't think it's all that easy or clean to do that.
Am I wrong? Are there resources describing how to do this already?
Could you be a bit more precise about your RTS needs? For example, if you want to run Haskell on raw hardware you might be interested with House project, http://programatica.cs.pdx.edu/House/

I'm not specifically interested in raw hardware, but I am interested in,
say, making the garbage collection deterministic and altering the scheduler
to fit some other needs. I'll try and find a link to the paper describing
the GC i want to implement....
On Thu, Feb 11, 2010 at 11:10 AM, Ivan Panachev
On Thu, Feb 11, 2010 at 6:30 PM, John Van Enk
wrote: I need to be able to swap out the RTS. The place I want to stick Haskell absolutely needs its own custom RTS, and currently, I don't think it's all that easy or clean to do that.
Am I wrong? Are there resources describing how to do this already?
Could you be a bit more precise about your RTS needs? For example, if you want to run Haskell on raw hardware you might be interested with House project, http://programatica.cs.pdx.edu/House/

Here's the paper:
http://comjnl.oxfordjournals.org/cgi/content/abstract/33/5/466
On Thu, Feb 11, 2010 at 11:45 AM, John Van Enk
I'm not specifically interested in raw hardware, but I am interested in, say, making the garbage collection deterministic and altering the scheduler to fit some other needs. I'll try and find a link to the paper describing the GC i want to implement....
On Thu, Feb 11, 2010 at 11:10 AM, Ivan Panachev
wrote: On Thu, Feb 11, 2010 at 6:30 PM, John Van Enk
wrote: I need to be able to swap out the RTS. The place I want to stick Haskell absolutely needs its own custom RTS, and currently, I don't think it's all that easy or clean to do that.
Am I wrong? Are there resources describing how to do this already?
Could you be a bit more precise about your RTS needs? For example, if you want to run Haskell on raw hardware you might be interested with House project, http://programatica.cs.pdx.edu/House/

On 11/02/2010 17:01, John Van Enk wrote:
Here's the paper: http://comjnl.oxfordjournals.org/cgi/content/abstract/33/5/466
Can you say a bit about why that GC fits your needs? Must it be that particular algorithm? I don't seem to be able to find the paper online. Replacing GHC's RTS is no mean feat, as you're probably aware. There are a large number of dependencies between the compiler, the RTS, and the low-level libraries. I expect rather than thinking about replacing the RTS it would be more profitable to look at what kinds of things you need the RTS to do that it currently does not. I'm aware that some people need a GC with shorter pause times. We'll probably put that on the roadmap at some point. Cheers, Simon

I _think_ that the abstract points out that reference-counted garbage
collection can be done deterministically. Haskell could some day be an
excellent replacement for C/Ada in safety critical markets, but some serious
changes to the RTS (most having to do with memory allocation, garbage
collection, and multi-threading) would have to be made.
If the GC becomes deterministic, then a much better case can be made for
using the language on a plane or in medical devices.
/jve
On Fri, Feb 12, 2010 at 10:29 AM, Simon Marlow
On 11/02/2010 17:01, John Van Enk wrote:
Here's the paper: http://comjnl.oxfordjournals.org/cgi/content/abstract/33/5/466
Can you say a bit about why that GC fits your needs? Must it be that particular algorithm? I don't seem to be able to find the paper online.
Replacing GHC's RTS is no mean feat, as you're probably aware. There are a large number of dependencies between the compiler, the RTS, and the low-level libraries. I expect rather than thinking about replacing the RTS it would be more profitable to look at what kinds of things you need the RTS to do that it currently does not.
I'm aware that some people need a GC with shorter pause times. We'll probably put that on the roadmap at some point.
Cheers, Simon

On 12/02/2010 15:45, John Van Enk wrote:
I _think_ that the abstract points out that reference-counted garbage collection can be done deterministically. Haskell could some day be an excellent replacement for C/Ada in safety critical markets, but some serious changes to the RTS (most having to do with memory allocation, garbage collection, and multi-threading) would have to be made.
If the GC becomes deterministic, then a much better case can be made for using the language on a plane or in medical devices.
In a sense the GC *is* deterministic: it guarantees to collect all the unreachable garbage. But I expect what you're referring to is the fact that the garbage remains around for a non-deterministic amount of time. To me that doesn't seem to be a problem: you could run the GC at any time to reclaim it (pause-times notwithstanding). Even if you collected garbage immediately, I wouldn't feel comfortable about claiming any kind of deterministic memory behaviour for Haskell, given that transformations performed by the compiler behind your back can change the space usage, sometimes asymptotically. If you have to have guaranteed deterministic memory usage, perhaps something like Hume[1] is more appropriate? Cheers, Simon http://www-fp.cs.st-andrews.ac.uk/hume/index.shtml

* Simon Marlow:
In a sense the GC *is* deterministic: it guarantees to collect all the unreachable garbage. But I expect what you're referring to is the fact that the garbage remains around for a non-deterministic amount of time. To me that doesn't seem to be a problem: you could run the GC at any time to reclaim it (pause-times notwithstanding).
Most of the time, the concern is about pause times and the lack of upper bounds on them. With traditional reference counting, this is still a problem because if the last reference to a large data structure goes away, you need to free the whole data structure at once. (I'm not sure if Axford's paper deals with that aspect, though.)

2010/2/14 Florian Weimer
Most of the time, the concern is about pause times and the lack of upper bounds on them. With traditional reference counting, this is still a problem because if the last reference to a large data structure goes away, you need to free the whole data structure at once.
And this could be done... lazily! ;)

On 12.02.10 16:29, Simon Marlow wrote:
I'm aware that some people need a GC with shorter pause times. We'll probably put that on the roadmap at some point.
for some applications (like realtime audio processing) it would be interesting to even have short pause times with a guaranteed upper bound, but i realize this is a very specialized need that could be better served by making the GC implementation swappable (which otoh doesn't seem to be trivial). <sk>

2010/02/12 stefan kersten
On 12.02.10 16:29, Simon Marlow wrote:
I'm aware that some people need a GC with shorter pause times. We'll probably put that on the roadmap at some point.
for some applications (like realtime audio processing) it would be interesting to even have short pause times with a guaranteed upper bound, but i realize this is a very specialized need that could be better served by making the GC implementation swappable (which otoh doesn't seem to be trivial).
I think this is not a unique need. When you consider things like scalable network services with strong SLAs, largish embedded systems (iPhone, planes, &c.) and other environments where verification is a big win, it's generally also important to control latency and memory use. To be honest, though, I am of two minds about this. Why shouldn't we enforce our timing/memory requirements by writing EDSLs and compiling them? The approach Atom takes is maybe the most flexible option (there be parens, though). -- Jason Dusek

Is JHC not suitable in this case? It won't compile all of Haskell but it does some to be doing the right things as regards a pluggable RTS. I think it's fair to say at this point that GHC can compile all the Haskell we want and that new Haskell pieces will come to GHC before anything else gets them. So going with a totally new system, front-to-back, is not really desirable when all you want is a new RTS; however, I don't think GHC was designed to be a "Haskell compiler superserver". -- Jason Dusek

Well, my point here is that if we want to see GHC branch into other fields
(mine being safety critical), and actually see the code generated by GHC be
what's really running (rather than once-removed in the form of an EDSL),
some changes will have to be made.
Being able to experiment with GHC's RTS and possibly being able to write
your own (should the project require it) would go a long way to helping me
make the case for GHC in safety critical.
Perhaps I'd be better off looking at UHC/LHC/JHC as a starting place.
/jve
On Thu, Feb 11, 2010 at 12:13 PM, Jason Dusek
Is JHC not suitable in this case? It won't compile all of Haskell but it does some to be doing the right things as regards a pluggable RTS.
I think it's fair to say at this point that GHC can compile all the Haskell we want and that new Haskell pieces will come to GHC before anything else gets them. So going with a totally new system, front-to-back, is not really desirable when all you want is a new RTS; however, I don't think GHC was designed to be a "Haskell compiler superserver".
-- Jason Dusek

John Van Enk schrieb:
I need to be able to swap out the RTS. The place I want to stick Haskell absolutely needs its own custom RTS, and currently, I don't think it's all that easy or clean to do that.
Am I wrong? Are there resources describing how to do this already?
As far as I know JHC is intended to work without an RTS.

On Thu, Feb 11, 2010 at 06:57:48PM +0100, Henning Thielemann wrote:
John Van Enk schrieb:
I need to be able to swap out the RTS. The place I want to stick Haskell absolutely needs its own custom RTS, and currently, I don't think it's all that easy or clean to do that.
Am I wrong? Are there resources describing how to do this already?
As far as I know JHC is intended to work without an RTS.
It is more that the RTS is generated as a part of the normal code generation process, this is done by implementing as much as possible in haskell itself, jhc has a very rich set of unboxed primitives, making it as expressible as c-- for the most part, for the bits of C I do need, I try to make them conditionally compilable, so parts that arn't used will not be included. all in all, the overhead is ~= 1k or so. A side effect is that jhc is very lightly coupled to any particular RTS, so experimenting with alternate ones is pretty straigtforward. John -- John Meacham - ⑆repetae.net⑆john⑈ - http://notanumber.net/

Implementing an alternative RTS for GHC seems like a viable Google Summer of Code project to me. What do you think?

I'd suggested this in an earlier SoC thread.
2010/2/11 Matthias Görgens
Implementing an alternative RTS for GHC seems like a viable Google Summer of Code project to me. What do you think? _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

It seems quite big for a 3 months project made by a student, though.
2010/2/11 Matthias Görgens
Implementing an alternative RTS for GHC seems like a viable Google Summer of Code project to me. What do you think?
-- Alp Mestanogullari http://alpmestan.wordpress.com/ http://alp.developpez.com/

Perhaps just defining the interface and demonstrating that different RTS's
are swappable would be enough?
2010/2/11 Alp Mestanogullari
It seems quite big for a 3 months project made by a student, though.
2010/2/11 Matthias Görgens
Implementing an alternative RTS for GHC seems like a viable Google
Summer of Code project to me. What do you think?
-- Alp Mestanogullari http://alpmestan.wordpress.com/ http://alp.developpez.com/
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

On Thu, Feb 11, 2010 at 1:49 PM, John Van Enk
Perhaps just defining the interface and demonstrating that different RTS's are swappable would be enough?
I read a paper by (I think) a Simon, in which he described a haskell RTS. It would make it easier to experiment with GC, scheduling, and whatever else. I recall a few problems, such as performance, but nothing really intractable. Swappable RTS would be a nice side-effect. Unfortunately I don't remember the title of the paper. Maybe it had to do with the whole GMP thing? It might be big for SoC but perhaps there's some well-defined subset, like fix some blocking issue?

It might be big for SoC but perhaps there's some well-defined subset, like fix some blocking issue?
Good idea. By the way, do all SoC projects have to be single-contributor projects, or could someone get together with a friend and work together on a somewhat larger project?

On 12 Feb 2010, at 12:32, Matthias Görgens wrote:
It might be big for SoC but perhaps there's some well-defined subset, like fix some blocking issue?
Good idea. By the way, do all SoC projects have to be single-contributor projects, or could someone get together with a friend and work together on a somewhat larger project?
In theory, two students could work together on a single project. However, in practice there would need to be a clear delineation (in advance) of what each student would contribute, so that we can determine whether either student individually succeeds and gets paid. Also, at the initial submission stage, there is no guarantee that if one student gets a place, the other will as well. So there would need to be a contingency plan for what each student would do in the absence of the other. Regards, Malcolm

On 11/02/2010 21:55, Evan Laforge wrote:
On Thu, Feb 11, 2010 at 1:49 PM, John Van Enk
wrote: Perhaps just defining the interface and demonstrating that different RTS's are swappable would be enough?
I read a paper by (I think) a Simon, in which he described a haskell RTS. It would make it easier to experiment with GC, scheduling, and whatever else. I recall a few problems, such as performance, but nothing really intractable. Swappable RTS would be a nice side-effect.
You're probably referring to this: http://www.haskell.org/~simonmar/papers/conc-substrate.pdf the idea there was to move as much of the scheduler as possible into Haskell. It's still something we'd like to do, but getting even close to the performance of the current RTS was difficult, which is why the project is currently dormant. In order to get decent performance we'd probably have to sacrifice some of the nice abstractions, like transactions, but then the advantages become less clear. I'm hoping that someday hardware TM will help here. Also, it was only the scheduler, which is quite a small part of the RTS (probably 5% is an overestimate). Cheers, Simon

On 11/02/2010 20:57, Alp Mestanogullari wrote:
It seems quite big for a 3 months project made by a student, though.
No kidding :-) I last rewrote the RTS in 1998: http://www.mail-archive.com/glasgow-haskell-users@haskell.org/msg00329.html So as you can see from that announcement, it took "a few months" to rewrite the RTS. At the time, we redesigned things quite a bit, so that includes changes in the compiler too. Back then of course the RTS didn't have a few things it has now: - anything to do with multithreading or parallel execution - generational GC - profiling - dynamic linking and the byte-code interpreter (GHCi) - STM - asynchronous exceptions (throwTo) - event logging and tracing but even so, it was about 20k lines. It did have concurrency, a 2-space GC, the FFI, all the primitives, and lots of debugging code. Cheers, Simon

Simon Marlow wrote:
On 11/02/2010 20:57, Alp Mestanogullari wrote:
It seems quite big for a 3 months project made by a student, though.
No kidding :-) I last rewrote the RTS in 1998:
but even so, it was about 20k lines.
Man, that's at least two orders of magnitude larger than anything I've ever written in my entire life! And to think that's just the RTS - the part of GHC that most people don't neven notice. ;-) Did you really write all that code single-handedly? Also... Those old release notes are some hard-core nostalga. ;-) "At least 32 MB of RAM"... that's special. As is the list of "new" features in GHC. (Exceptions. Ooo!)

On 12/02/10 19:33, Andrew Coppin wrote:
Simon Marlow wrote:
On 11/02/2010 20:57, Alp Mestanogullari wrote:
It seems quite big for a 3 months project made by a student, though.
No kidding :-) I last rewrote the RTS in 1998:
but even so, it was about 20k lines.
Man, that's at least two orders of magnitude larger than anything I've ever written in my entire life! And to think that's just the RTS - the part of GHC that most people don't neven notice. ;-)
Did you really write all that code single-handedly?
Not entirely, I cribbed heavily from the old RTS which was written by various people but mostly Will Partain, and some was written by Alastair Reid who was working on porting Hugs to use GHC's RTS at the time - it was the death of that project that prompted us to build GHCi, which first appeared in GHC version 5.00. Cheers, Simon

I'll definitely take a closer look.
On Thu, Feb 11, 2010 at 1:09 PM, John Meacham
On Thu, Feb 11, 2010 at 06:57:48PM +0100, Henning Thielemann wrote:
John Van Enk schrieb:
I need to be able to swap out the RTS. The place I want to stick Haskell absolutely needs its own custom RTS, and currently, I don't think it's all that easy or clean to do that.
Am I wrong? Are there resources describing how to do this already?
As far as I know JHC is intended to work without an RTS.
It is more that the RTS is generated as a part of the normal code generation process, this is done by implementing as much as possible in haskell itself, jhc has a very rich set of unboxed primitives, making it as expressible as c-- for the most part, for the bits of C I do need, I try to make them conditionally compilable, so parts that arn't used will not be included. all in all, the overhead is ~= 1k or so. A side effect is that jhc is very lightly coupled to any particular RTS, so experimenting with alternate ones is pretty straigtforward.
John
-- John Meacham - ⑆repetae.net⑆john⑈ - http://notanumber.net/ _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

I looked at generating C for AVR with JHC. I wanted to see what
this program became:
http://github.com/solidsnack/trippy-waves/blob/99ad424a3ed4a21ff6f6a662293d6...
The program is relatively simple. It doesn't work, of course (I
never did get the right FFI bindings figured out) but the
generated C is suggestive.
http://github.com/solidsnack/trippy-waves/blob/99ad424a3ed4a21ff6f6a662293d6...
The generated `main' is very plain:
static void A_STD
ftheMain(void)
{
jhc_function_inc();
uintptr_t v10 = ((uintptr_t)DDRB());
*((uint8_t *)(v10)) = 23;
uintptr_t v18 = ((uintptr_t)PORTB());
return *((uint8_t *)(v18)) = 23;
}
This is a simple, literal translation of my foreign calls. To
all appearances, the runtime is entirely bypassed. The
function `jhc_function_inc()' is a performance counter, set to
no-op for non-profiling builds as far as I can tell.
It also doesn't compile but that's because I can't figure out
how to declare pointers in the FFI; and if I could, then I'd
have to go through by hand and pull out includes for things
that aren't available for AVR programming --

Michael Lesniak wrote:
Hello,
elegance of Haskell. Whether Haskell becomes an easy choice for commercial work or remains a boutique language depends on how easy it is to build today's applications.
Do you (or anyone reading this thread) know of some kind of wishlist of missing features and/or libraries? Would be nice to see what's still "missing".
HTTPS support in the HTTP library. One library that JustWorks (tm) for HTTP and HTTPS. Erik -- ---------------------------------------------------------------------- Erik de Castro Lopo http://www.mega-nerd.com/

Things are missing but Haskell was certainly fit for practical use two years ago. The big things missing now are trust, mindshare and enough people who think reliability and consistency are a good play for long term productivity. -- Jason Dusek

Michael Lesniak wrote:
elegance of Haskell. Whether Haskell becomes an easy choice for commercial work or remains a boutique language depends on how easy it is to build today's applications.
Do you (or anyone reading this thread) know of some kind of wishlist of missing features and/or libraries? Would be nice to see what's still "missing".
There's the subReddit: http://www.reddit.com/r/haskell_proposals/ That's where I got the impetus to write the bytestring-trie package. I'm not sure how many other proposals have been taken up, or whether there's a good synopsis boiling it down or rating them by priority though. -- Live well, ~wren

Hello,
There's the subReddit: http://www.reddit.com/r/haskell_proposals/ I know it. The problem is that (at least in my opinion) only a small fraction of Haskell'ers use it. On the other hand, I have not found anything on the Wiki regarding these things, so maybe it's better than nothing.
Cheers, Michael -- Dipl.-Inf. Michael C. Lesniak University of Kassel Programming Languages / Methodologies Research Group Department of Computer Science and Electrical Engineering Wilhelmshöher Allee 73 34121 Kassel Phone: +49-(0)561-804-6269

On Mon, Feb 15, 2010 at 2:24 AM, Michael Lesniak
There's the subReddit: http://www.reddit.com/r/haskell_proposals/ I know it. The problem is that (at least in my opinion) only a small fraction of Haskell'ers use it.
I strongly dislike "social X" sites (where X is "networking", "bookmarking", etc.). I'd rather keep that sort of thing on mailing lists, wikis, and bug trackers.

2010/02/15 Tom Tobin
On Mon, Feb 15, 2010 at 2:24 AM, Michael Lesniak
wrote: There's the subReddit: http://www.reddit.com/r/haskell_proposals/
I know it. The problem is that (at least in my opinion) only a small fraction of Haskell'ers use it.
I strongly dislike "social X" sites (where X is "networking", "bookmarking", etc.). I'd rather keep that sort of thing on mailing lists, wikis, and bug trackers.
A Haskell proposals mailing list would work well, I think. I didn't have the necessary permissions to create mailing lists for haskell.org, though. -- Jason Dusek
participants (32)
-
Alp Mestanogullari
-
Andrew Coppin
-
Bas van Dijk
-
Bulat Ziganshin
-
David Leimbach
-
Don Stewart
-
Erik de Castro Lopo
-
Erik Hesselink
-
Evan Laforge
-
Florian Weimer
-
Günther Schmidt
-
Henning Thielemann
-
Ivan Panachev
-
James Russell
-
Jason Dusek
-
John Meacham
-
John Van Enk
-
Malcolm Wallace
-
Manuel M T Chakravarty
-
Matthias Görgens
-
Michael Lesniak
-
Michael Oswald
-
Pavel Perikov
-
Praki Prakash
-
Roderick Ford
-
Sean Leather
-
Serguey Zefirov
-
Simon Marlow
-
stefan kersten
-
Thomas Hartman
-
Tom Tobin
-
wren ng thornton