Re: ANN: CmdArgs - easy command line argument processing

Neil Mitchell wrote:
I am pleased to announce CmdArgs v0.1. CmdArgs is a library for easy command line argument processing - taking the arguments passed into your program from getArgs and converting them into a structured value for use in your program. Compared to the System.Console.GetOpts library there are two key advantages:
1) The command line argument processors are shorter - in a typical case they are about 1/3 the size, 90 lines with getopts vs 30 simpler lines with CmdArgs (for HLint).
2) CmdArgs can support multiple mode command lines, such as those found in hpc, darcs and cabal.
The guiding principle of CmdArgs is to try and write each piece of information only once, which makes the command line processing shorter, and eliminates many of the accidental copy-and-paste style bugs that are easy with getopts. CmdArgs requires GHC, but other than this restriction, I do not foresee any reason for anyone to use getopts over CmdArgs.
I very much like the general idea of this thing, but have a question regarding the interface. This is from the docs: (&=) :: a -> Attrib -> a Add attributes to a value. Always returns the first argument, but has a non-pure effect on the environment. Take care when performing program transformations. value &= attrib1 & attrib2 To expose an impure function (!) in an API, I don't know... I mean, couldn't one just wrap the value like this data Attributed a -- opaque (&=) :: a -> Attrib -> Attributed a mode :: Data a => Attributed a -> Mode a and thus retain a purely functional interface? Cheers Ben

2009/9/28 Ben Franksen
To expose an impure function (!) in an API, I don't know... I mean, couldn't one just wrap the value like this
data Attributed a -- opaque
(&=) :: a -> Attrib -> Attributed a
mode :: Data a => Attributed a -> Mode a
and thus retain a purely functional interface?
Hi Ben, I don't think this would work because you need to be able to put the Attributed things in the fields of your command options data type. If they are wrapped in an "Attributed" then this may not be possible. In particular the sample won't compile in your proposal: data Sample = Sample {hello :: String} deriving (Show, Data, Typeable) sample = mode $ Sample{hello = def &= text "World argument" & empty "world"} Because the &= would return an Attributed String whereas you are actually after a String. Essential the problem is that attributes are attached to *fields*, but mode consumes a *record*. The best way to do this typefully is to paramaterise the options data type with a functor: data Sample f = Sample {hello :: f String} deriving (Show, Data, Typeable) Now you can do what you want, where mode :: Data a => a Attribute -> Mode (a Id). In fact, you could even do away with Data and substitute some sort of Foldable/Traversable as long as you were happy with the library not being able to fill in a default argument name from the record field name. The current interface is the best tradeoff given what Neil is trying to do IMHO - though the side effects make me shudder too! Cheers, Max

In the last months, I made the experience it seems difficult to find commercial Haskell developer teams to take responsibility for projects in the range of $ 10.000 - 100.000. The Industrial Haskell Group does not seem to be the appropriate place for this, while harvesting Haskell team at general market places appears to be tedious. I would be very interested in others' experiences, and inhowfar my opinion is shared that there should be a demand for such a market place, for developer teams as well as those sympathizing with introducing Haskell somewhere. Nick

It's very difficult to find information on: 1. How many Haskell developers are out there; 2. What a typical salary is for a Haskell developer; 3. Whether or not the skills of a typical Haskell developer scale to large applications (most Haskell developers are "hobby" Haskellers and have only written tiny to small Haskell apps); 4. How many shops are capable of handling Haskell development & maintenance. These are the kinds of information one needs to make an informed decision about whether to introduce Haskell into the workplace. Regards, John A. De Goes N-Brain, Inc. The Evolution of Collaboration http://www.n-brain.net | 877-376-2724 x 101 On Sep 28, 2009, at 7:01 AM, Jörg Roman Rudnick wrote:
In the last months, I made the experience it seems difficult to find commercial Haskell developer teams to take responsibility for projects in the range of $ 10.000 - 100.000. The Industrial Haskell Group does not seem to be the appropriate place for this, while harvesting Haskell team at general market places appears to be tedious.
I would be very interested in others' experiences, and inhowfar my opinion is shared that there should be a demand for such a market place, for developer teams as well as those sympathizing with introducing Haskell somewhere.
Nick _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

These problems are critical -- but not hopeless, I think: (1) A simple technical matter, any average Haskell programmer (including myself...) can build a platform, e.g. in Happstack or the like, to clear this up (given you want to do this in Haskell ;-). (4) This is a special one, which I have pondered on some time ago. The customers' main concern seems to be "will this company still support me in n years??" o if the project is interesting enough, I see hope there might be some academic unit willing to partake in this, as I have heard enough complaint of not having enough examples to demonstrate business relevance to students. Normally, the customer should have no problem in believing an academic unit and its interests to last some time. o I would propose to pick up the insourcing concept -- as, what I can confirm by my own teaching experiences, it sometimes is easier to introduce Haskell to beginners (once the do have sufficient OS experience) then to people who already are adherents of some other language. Ok, we might need some more introductory literature etc. (3) Yes, there seem to be lots of people organized at a smaller level than what I described -- groups of one or very few members, working on a limited time range. Yesterday, I would have written there should be remarkable interest in greater projects, but, due to the poor resonance to my mail, I feel wary to do so now. (3)&(2) Such a reserved reaction might indicate many Haskellers are not motivated by the money but by the fame, and -- as the lively succJava thread shows -- what could be greater fame (besides the evaluation of 42) than stealing the Java etc. community just another attractive project? ;-)) Do I go wrong in saying there's a good deal of competitive spirit in the Haskell community interesting in taking claims away of other programming cultures which have grown saturated over the years? And, isn't the this *Haskeller bonus* indicating that doing the step to larger project should not be as hard as for others? A remaining issue might be a need for some facility to find cooperations and realize synergies -- see (1). Enough blah-blah. I got one email response (not posted to here) of a highly qualified Haskeller whom I could name two projects which might have interested him in his proximity, 80 miles and 75 miles away (and I do not have so many...). My learning is that a communication platform in this concern might be interesting to at least some of us. There are larger projects possible -- if we pick them up. All the best, Nick John A. De Goes wrote:
It's very difficult to find information on:
1. How many Haskell developers are out there; 2. What a typical salary is for a Haskell developer; 3. Whether or not the skills of a typical Haskell developer scale to large applications (most Haskell developers are "hobby" Haskellers and have only written tiny to small Haskell apps); 4. How many shops are capable of handling Haskell development & maintenance.
These are the kinds of information one needs to make an informed decision about whether to introduce Haskell into the workplace.
Regards,
John A. De Goes N-Brain, Inc. The Evolution of Collaboration
http://www.n-brain.net | 877-376-2724 x 101
On Sep 28, 2009, at 7:01 AM, Jörg Roman Rudnick wrote:
In the last months, I made the experience it seems difficult to find commercial Haskell developer teams to take responsibility for projects in the range of $ 10.000 - 100.000. The Industrial Haskell Group does not seem to be the appropriate place for this, while harvesting Haskell team at general market places appears to be tedious.
I would be very interested in others' experiences, and inhowfar my opinion is shared that there should be a demand for such a market place, for developer teams as well as those sympathizing with introducing Haskell somewhere.
Nick _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org mailto: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

Some thoughs:
Most successful languages spread because they are part of a platform which
solves an IT problem. C was part of Unix, both brougth CPU independence when
this was necessary. Java is part of the Java platform, that brougth OS
independence and interoperability at the right time. .Download-execution on
the client was also a reason for the initial success of Java in the Internet
era. Javascript is part of the web browser. The .NET languages are part of
NET. Rubi and Pyton came with libraries targeted to Rapid development of
Internet applications.
What is the vehicle that haskell can use to enter the mainstream?. I think
that the mere interest of the ideas in the language is not enough. Many
people will play with Haskell in the spare time, and many of them will be
permitted to develop some non critical applications at work. But that is
all. Java was not designed for the Internet but it was re-targeted to it
because some needed features where already implemented in Java. Maybe
something like that will happen to Haskell.
I think that all the current niches are filled, but new niches are coming.
specially with higher level programming that is made on top of current
sorware software infrastructure such are BPM, workflows, more flexible
scientific applicatins, creation of models in business intelligence, as
part of ERPs,.Data mining too. And higuer levels of netwrok communications(
for example, Google Wave robots) etc.
About the last point, sometimes a basically identical infrastructure is
re-engineered to a higher level, and a new language takes over. For example,
the architecture of many Internet applications in the 80s was client-server
based, where C, C++ was the king. This was substituted by the web
architecture with Java because Java was involved in the gradual change by
filling the holes of the new architecture. It could be that in a few years,
instead of Web sites people could develop interoperable gadgets for
aggregators such are netvibes or IGoogle or, even more radical, robots and
gadgets in google Wave. Anyway, for sure, people will think and develop at a
higher level.
Financial applications are an example of higher level programming where
tasks usually performed by humans are now automatized and there is no or few
traditions about that. The need to think at a higher level without being
worried by side effects and other details are specially needed in such kind
of areas. That's where haskell could have its own niche.
Regards
2009/9/29 Jörg Roman Rudnick
These problems are critical -- but not hopeless, I think:
(1) A simple technical matter, any average Haskell programmer (including myself...) can build a platform, e.g. in Happstack or the like, to clear this up (given you want to do this in Haskell ;-).
(4) This is a special one, which I have pondered on some time ago. The customers' main concern seems to be "will this company still support me in n years??" o if the project is interesting enough, I see hope there might be some academic unit willing to partake in this, as I have heard enough complaint of not having enough examples to demonstrate business relevance to students. Normally, the customer should have no problem in believing an academic unit and its interests to last some time. o I would propose to pick up the insourcing concept -- as, what I can confirm by my own teaching experiences, it sometimes is easier to introduce Haskell to beginners (once the do have sufficient OS experience) then to people who already are adherents of some other language. Ok, we might need some more introductory literature etc.
(3) Yes, there seem to be lots of people organized at a smaller level than what I described -- groups of one or very few members, working on a limited time range.
Yesterday, I would have written there should be remarkable interest in greater projects, but, due to the poor resonance to my mail, I feel wary to do so now.
(3)&(2) Such a reserved reaction might indicate many Haskellers are not motivated by the money but by the fame, and -- as the lively succJava thread shows -- what could be greater fame (besides the evaluation of 42) than stealing the Java etc. community just another attractive project? ;-))
Do I go wrong in saying there's a good deal of competitive spirit in the Haskell community interesting in taking claims away of other programming cultures which have grown saturated over the years? And, isn't the this *Haskeller bonus* indicating that doing the step to larger project should not be as hard as for others?
A remaining issue might be a need for some facility to find cooperations and realize synergies -- see (1).
Enough blah-blah. I got one email response (not posted to here) of a highly qualified Haskeller whom I could name two projects which might have interested him in his proximity, 80 miles and 75 miles away (and I do not have so many...). My learning is that a communication platform in this concern might be interesting to at least some of us. There are larger projects possible -- if we pick them up.
All the best,
Nick
John A. De Goes wrote:
It's very difficult to find information on:
1. How many Haskell developers are out there; 2. What a typical salary is for a Haskell developer; 3. Whether or not the skills of a typical Haskell developer scale to large applications (most Haskell developers are "hobby" Haskellers and have only written tiny to small Haskell apps); 4. How many shops are capable of handling Haskell development & maintenance.
These are the kinds of information one needs to make an informed decision about whether to introduce Haskell into the workplace.
Regards,
John A. De Goes N-Brain, Inc. The Evolution of Collaboration
http://www.n-brain.net | 877-376-2724 x 101
On Sep 28, 2009, at 7:01 AM, Jörg Roman Rudnick wrote:
In the last months, I made the experience it seems difficult to find commercial Haskell developer teams to take responsibility for projects in the range of $ 10.000 - 100.000. The Industrial Haskell Group does not seem to be the appropriate place for this, while harvesting Haskell team at general market places appears to be tedious.
I would be very interested in others' experiences, and inhowfar my opinion is shared that there should be a demand for such a market place, for developer teams as well as those sympathizing with introducing Haskell somewhere.
Nick _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
------------------------------
_______________________________________________ Haskell-Cafe mailing listHaskell-Cafe@haskell.orghttp://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

On 2009-09-29 13:18 +0200 (Tue), Alberto G. Corona wrote:
Java is part of the Java platform, that brought OS independence and interoperability at the right time. .Download-execution on the client was also a reason for the initial success of Java in the Internet era.
I was a die-hard Java hacker from 1999 until some undetermined time in the early-to-mid-2000s. (I abandoned it more or less completely sometime around late 2005, if I recall correctly.) This may be somewhat anecdotal evidence, but I disagree with both of your statements here. I've rarely known anybody to use Java cross-platform in a non-trival way, barring a few major GUI-centric projects such as Eclipse. (I've far more cross-platform use of Haskell than Java myself.) And I know of nobody who did anything serious with download-execution of Java. As an example, Amazon and Google are two fairly large companies that use Java extensively in their operations, and neither of them make any significant use of the cross-platform or download-execution abilities of it. They'd do just as well with a language that had a single compiler producing only Unix binaries.
Rubi and Python came with libraries targeted to Rapid development of Internet applications.
No, neither originally "came" with that. Python has never been a big language for web applications (though it's had a few outstanding successes). It has been the source of some very good ideas in the web application framework area (Django introduced some great ideas that were, at best, exceedingly rare when it came out), but those haven't really caught on. (RoR is still missing a lot of wonderful stuff from Django. Heck, even my sad Ruby web framework QWeb has more in certain respects.) Ruby on Rails arrived more than a decade after Ruby was developed, and while it's increased the popularity of the language, that's little to do with Ruby itself. RoR was well described by someone as "the bastard spawn of a PHP programmer and a Web designer." I posit that "it's slightly better than PHP, yet still very accessible to PHP programmers" is the main reason for its popularity.
What is the vehicle that haskell can use to enter the mainstream?.
That may be the wrong question. "Avoid success at all costs" still rings true to me. A year or so ago I seemed like one of the few on the haskell-libraries list voting in favour of fixing API problems in libraries, rather than etching in stone those problems in the name of backwards compatibility so that we could "become more popular." Do you really want, in 2020, to look back at the 2010 revision of the Haskell standard and think, "we entrenched things that for a decade everybody agreed was dumb"? I can tell you, even when you're a Java enthusiast, there's nothing more depressing than looking at java.util.Date and thinking, "That should have been immutable, but it's going to be mutable for the rest of eternity. We will never fix that." But let's try this again:
What is the vehicle that haskell can use to enter the mainstream?.
Become more stupid. Is that a better answer? I'm not just a geek; I do marketing too (this is what happens when you start your own company), and if you asked me, using the utmost of my technical knowledge and marketing skills, to make Haskell popular, this is what I'd recommend. (I suppose it's a sign of my professionalism that to do this would nearly break my heart, but if you wanted me to tell you the best way to do this, and I couldn't tell you to get lost, that's what I'd say.)
Many people will play with Haskell in the spare time, and many of them will be permitted to develop some non critical applications at work. But that is all.
Hm. So I suppose that this options trading system I'm working on, which is the sole way our business makes money and is entirely written in Haskell, doesn't actually exist.
I think that all the current niches are filled, but new niches are coming.
Haskell already has a good niche. In fact, a brilliant one. We have a whole bunch of academics doing truly wonderful stuff (imagine the world without monads!--thank you Philip Wadler (and Eugenio Moggi)) that the rest of us (relatively) dumb idiots can use to make our lives better. We've got several very good implementations of the language, one of which is a truly shit-hot compiler[1]. And we can use that to do commercial applications quite comfortably[2]. My personal opinion is, yes, let's let Haskell stick to the niche where it's great, but it changes so fast that it's scary to everybody else. To echo Paul Graham, I'm extremely happy to see my competition use Java. [1] Like that's so important. Ruby's standard implementation to this day is an interpreter that implements all the popular extensions and has a reasonably decent FFI. In Haskell-land, we call that "Hugs." It's only because we have GHC as well that we can look down on Hugs; in the Ruby (and Python, and PHP) worlds, they're saying that interpreters are just fine for all sorts of "enterprise applications." [2] (Warning: self-promotion): http://www.starling-software.com/misc/icfp-2009-cjs.pdf
Financial applications are an example of higher level programming where tasks usually performed by humans are now automatized and there is no or few traditions about that. The need to think at a higher level without being worried by side effects and other details are specially needed in such kind of areas. That's where haskell could have its own niche.
Actually, I think that Haskell has a niche there not because of that
sort of thing, but merely because it's better than Java at doing what
Java does well, but scary enough that only small groups of brave
people who are comfortable with risk would ever attempt to use it. The
financial sector happens to have a lot more of those than many others.
cjs
--
Curt Sampson

Curt Sampson
Java is part of the Java platform, that brought OS independence and interoperability at the right time. .Download-execution on the client was also a reason for the initial success of Java in the Internet era.
This may be somewhat anecdotal evidence, but I disagree with both of your statements here. I've rarely known anybody to use Java cross-platform in a non-trival way, barring a few major GUI-centric projects such as Eclipse. (I've far more cross-platform use of Haskell than Java myself.) And I know of nobody who did anything serious with download-execution of Java.
Well I (dis)agree with you both :-) I think these things - running Java programs in the browser, and cross-platformness - were very important in making Java popular, even if they ended up being, at best, peripheral uses of the language. Still, they served to hype the language to an industry that had just gotten used to object orientation, and thus clearing the path for Java's adoption as a successor to C++ (where it was and is quite successful). -k -- If I haven't seen further, it is by standing in the footprints of giants

On 2009-09-29 13:18 +0200 (Tue), Alberto G. Corona wrote:
What is the vehicle that haskell can use to enter the mainstream?.
Actually, I have one more thought on that: wait.
I'd had the impression that Haskell was becoming fairly well known (if
not yet heavily used, in comparison to languages like Java), but I just
ran across some hard evidence for this.
In the 32 languages ranked on http://www.langpop.com/ , Haskell
consistently comes down near the bottom in the various rankings of
use. (But hey, we're not so weird we're not in there!) But if you look
down near the bottom, at the chart labeled "Normalized Discussion Site
Results," you'll notice that Haskell comes out sixth. Even trying to be
more fair to the mainstream, and changing the weighting to drop Lambda
the Ultimate completely (after all, they're just a bunch of academic
wankers, right?) and bring IRC down to a contribution of 0.5 instead of
1 (apparently those academic wankers have lots of time to chat online),
Haskell still comes out tenth, with a score over a third that of the
leader, Java, and close to half that of PHP and C (2nd and 3rd place,
respectively).
We've also got at least one undeniably good, production-quality compiler
(which is more than PHP or Ruby can say), and have sold many tens of
thousands, perhaps even hundreds of thousands, of books. At this point,
I don't think many people (John A. De Goes excepted) are looking at
people writing major applications in Haskell as if they're aliens living
on another planet.
Haskell is in the mainstream already as far as being taken seriously;
most of the complaints I'm seeing seem to be grasping at the same kinds
of straws that the anti-Java guys were back in the late '90s. ("It's
hopeless if it uses garbage collection.")
We've even got our own over-hyped, under-utilized supposed benefit
("it's good for multicore").
The main whinging seems to be about libraries, of which we have "only"
1585 on hackage.
Compare with RubyForge, which has 2059 projects in "beta" or better
status, or 2961 if we include "alpha" as well. The Ruby Application
Archive has 1768 projects; I have no idea how much overlap there is, or
how many of these are real.
I think we just need to sit tight for a couple of years.
cjs
--
Curt Sampson

Haskell, and FP languages more broadly, are finding a pretty solid niche in small scale, but technically demanding and lucrative projects. Financial modeling and analytics are the first thing that comes to mind. The work of Galois, Atom, etc also sort of fit this mold. While the people on this list are clearly leaning towards Haskell, this is a niche that Haskell shares with OCaml, Erlang, and even Scala and Clojure. Perhaps, combining efforts with those communities (call it lambdajobs or something) would help get closer to a critical mass and aid cross-pollination between communities. Considering the salaries and value-add with skilled FP programmers, and the difficulty in finding them, this could even be a profitable venture in the long run if employers are charged for successful placements or for ads once we get going. Just my 2¢ Max On Oct 1, 2009, at 11:56 AM, Curt Sampson wrote:
On 2009-09-29 13:18 +0200 (Tue), Alberto G. Corona wrote:
What is the vehicle that haskell can use to enter the mainstream?.
Actually, I have one more thought on that: wait.
I'd had the impression that Haskell was becoming fairly well known (if not yet heavily used, in comparison to languages like Java), but I just ran across some hard evidence for this.
In the 32 languages ranked on http://www.langpop.com/ , Haskell consistently comes down near the bottom in the various rankings of use. (But hey, we're not so weird we're not in there!) But if you look down near the bottom, at the chart labeled "Normalized Discussion Site Results," you'll notice that Haskell comes out sixth. Even trying to be more fair to the mainstream, and changing the weighting to drop Lambda the Ultimate completely (after all, they're just a bunch of academic wankers, right?) and bring IRC down to a contribution of 0.5 instead of 1 (apparently those academic wankers have lots of time to chat online), Haskell still comes out tenth, with a score over a third that of the leader, Java, and close to half that of PHP and C (2nd and 3rd place, respectively).
We've also got at least one undeniably good, production-quality compiler (which is more than PHP or Ruby can say), and have sold many tens of thousands, perhaps even hundreds of thousands, of books. At this point, I don't think many people (John A. De Goes excepted) are looking at people writing major applications in Haskell as if they're aliens living on another planet.
Haskell is in the mainstream already as far as being taken seriously; most of the complaints I'm seeing seem to be grasping at the same kinds of straws that the anti-Java guys were back in the late '90s. ("It's hopeless if it uses garbage collection.")
We've even got our own over-hyped, under-utilized supposed benefit ("it's good for multicore").
The main whinging seems to be about libraries, of which we have "only" 1585 on hackage.
Compare with RubyForge, which has 2059 projects in "beta" or better status, or 2961 if we include "alpha" as well. The Ruby Application Archive has 1768 projects; I have no idea how much overlap there is, or how many of these are real.
I think we just need to sit tight for a couple of years.
cjs -- Curt Sampson
+81 90 7737 2974 Functional programming in all senses of the word: http://www.starling-software.com _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Hey, first of all, in terms of a platform for promoting haskell
commercially, happstutorial.com actually implements a job board.
Yeah, it's primitive and not feature complete, but on hackage, open
source, and ready for anyone who would like to work on it. (Currently
maintained by creighton hogg.)
This was my baby in 2008, when I was looking to foster happs for web
development, as a sort of "smarter" ruby on rails, which I am using in
the field in patch-tag.com.
2, the haskell-startup google group at
http://groups.google.com/group/haskell-startup
It's private, to encourage slightly more courageous business talk away
from the panoptic gaze of google, but I approve pretty much anyone who
doesn't want in and isn't a bot.
Yes. Let's create a world with more jobs for haskell developers, and
better software for everyone :)
thomas.
2009/10/1 Curt Sampson
On 2009-09-29 13:18 +0200 (Tue), Alberto G. Corona wrote:
What is the vehicle that haskell can use to enter the mainstream?.
Actually, I have one more thought on that: wait.
I'd had the impression that Haskell was becoming fairly well known (if not yet heavily used, in comparison to languages like Java), but I just ran across some hard evidence for this.
In the 32 languages ranked on http://www.langpop.com/ , Haskell consistently comes down near the bottom in the various rankings of use. (But hey, we're not so weird we're not in there!) But if you look down near the bottom, at the chart labeled "Normalized Discussion Site Results," you'll notice that Haskell comes out sixth. Even trying to be more fair to the mainstream, and changing the weighting to drop Lambda the Ultimate completely (after all, they're just a bunch of academic wankers, right?) and bring IRC down to a contribution of 0.5 instead of 1 (apparently those academic wankers have lots of time to chat online), Haskell still comes out tenth, with a score over a third that of the leader, Java, and close to half that of PHP and C (2nd and 3rd place, respectively).
We've also got at least one undeniably good, production-quality compiler (which is more than PHP or Ruby can say), and have sold many tens of thousands, perhaps even hundreds of thousands, of books. At this point, I don't think many people (John A. De Goes excepted) are looking at people writing major applications in Haskell as if they're aliens living on another planet.
Haskell is in the mainstream already as far as being taken seriously; most of the complaints I'm seeing seem to be grasping at the same kinds of straws that the anti-Java guys were back in the late '90s. ("It's hopeless if it uses garbage collection.")
We've even got our own over-hyped, under-utilized supposed benefit ("it's good for multicore").
The main whinging seems to be about libraries, of which we have "only" 1585 on hackage.
Compare with RubyForge, which has 2059 projects in "beta" or better status, or 2961 if we include "alpha" as well. The Ruby Application Archive has 1768 projects; I have no idea how much overlap there is, or how many of these are real.
I think we just need to sit tight for a couple of years.
cjs -- Curt Sampson
+81 90 7737 2974 Functional programming in all senses of the word: http://www.starling-software.com _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

correction, happstutorial is now tutorial.happstack.com.
2009/10/2 Thomas Hartman
Hey, first of all, in terms of a platform for promoting haskell commercially, happstutorial.com actually implements a job board.
Yeah, it's primitive and not feature complete, but on hackage, open source, and ready for anyone who would like to work on it. (Currently maintained by creighton hogg.)
This was my baby in 2008, when I was looking to foster happs for web development, as a sort of "smarter" ruby on rails, which I am using in the field in patch-tag.com.
2, the haskell-startup google group at
http://groups.google.com/group/haskell-startup
It's private, to encourage slightly more courageous business talk away from the panoptic gaze of google, but I approve pretty much anyone who doesn't want in and isn't a bot.
Yes. Let's create a world with more jobs for haskell developers, and better software for everyone :)
thomas.
2009/10/1 Curt Sampson
: On 2009-09-29 13:18 +0200 (Tue), Alberto G. Corona wrote:
What is the vehicle that haskell can use to enter the mainstream?.
Actually, I have one more thought on that: wait.
I'd had the impression that Haskell was becoming fairly well known (if not yet heavily used, in comparison to languages like Java), but I just ran across some hard evidence for this.
In the 32 languages ranked on http://www.langpop.com/ , Haskell consistently comes down near the bottom in the various rankings of use. (But hey, we're not so weird we're not in there!) But if you look down near the bottom, at the chart labeled "Normalized Discussion Site Results," you'll notice that Haskell comes out sixth. Even trying to be more fair to the mainstream, and changing the weighting to drop Lambda the Ultimate completely (after all, they're just a bunch of academic wankers, right?) and bring IRC down to a contribution of 0.5 instead of 1 (apparently those academic wankers have lots of time to chat online), Haskell still comes out tenth, with a score over a third that of the leader, Java, and close to half that of PHP and C (2nd and 3rd place, respectively).
We've also got at least one undeniably good, production-quality compiler (which is more than PHP or Ruby can say), and have sold many tens of thousands, perhaps even hundreds of thousands, of books. At this point, I don't think many people (John A. De Goes excepted) are looking at people writing major applications in Haskell as if they're aliens living on another planet.
Haskell is in the mainstream already as far as being taken seriously; most of the complaints I'm seeing seem to be grasping at the same kinds of straws that the anti-Java guys were back in the late '90s. ("It's hopeless if it uses garbage collection.")
We've even got our own over-hyped, under-utilized supposed benefit ("it's good for multicore").
The main whinging seems to be about libraries, of which we have "only" 1585 on hackage.
Compare with RubyForge, which has 2059 projects in "beta" or better status, or 2961 if we include "alpha" as well. The Ruby Application Archive has 1768 projects; I have no idea how much overlap there is, or how many of these are real.
I think we just need to sit tight for a couple of years.
cjs -- Curt Sampson
+81 90 7737 2974 Functional programming in all senses of the word: http://www.starling-software.com _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Hi Thomas, two very substantial contributions... :-) (a) Yes, let's do it with Happstack. (b) I just applied for the group. Nick Thomas Hartman wrote:
Hey, first of all, in terms of a platform for promoting haskell commercially, happstutorial.com actually implements a job board.
Yeah, it's primitive and not feature complete, but on hackage, open source, and ready for anyone who would like to work on it. (Currently maintained by creighton hogg.)
This was my baby in 2008, when I was looking to foster happs for web development, as a sort of "smarter" ruby on rails, which I am using in the field in patch-tag.com.
2, the haskell-startup google group at
http://groups.google.com/group/haskell-startup
It's private, to encourage slightly more courageous business talk away from the panoptic gaze of google, but I approve pretty much anyone who doesn't want in and isn't a bot.
Yes. Let's create a world with more jobs for haskell developers, and better software for everyone :)
thomas.

On Oct 1, 2009, at 9:56 AM, Curt Sampson wrote:
The main whinging seems to be about libraries, of which we have "only" 1585 on hackage.
It's not just about the _number_ of libraries, but the _usefulness_ of them for solving real-world problems. Haskell has a large number of libraries that are of no interest whatsoever to commercial software developers (new numerical hierarchies, category theory libraries, etc.), and is missing many key libraries that would be of great commercial value. Regards, John A. De Goes N-Brain, Inc. The Evolution of Collaboration http://www.n-brain.net | 877-376-2724 x 101

On 2009-10-02 09:03 -0600 (Fri), John A. De Goes wrote:
[Haskell] is missing many key libraries that would be of great commercial value.
Just out of curiousity, can you give me some examples of what you feel
these are?
cjs
--
Curt Sampson

Curt Sampson wrote:
On 2009-10-02 09:03 -0600 (Fri), John A. De Goes wrote:
[Haskell] is missing many key libraries that would be of great commercial value.
Just out of curiousity, can you give me some examples of what you feel these are?
A version of Network.HTTP that accepts HTTPS URLs and does the right thing instead of attempting to do a HTTP connection instead. Erik -- ---------------------------------------------------------------------- Erik de Castro Lopo http://www.mega-nerd.com/

mle+hs:
Curt Sampson wrote:
On 2009-10-02 09:03 -0600 (Fri), John A. De Goes wrote:
[Haskell] is missing many key libraries that would be of great commercial value.
Just out of curiousity, can you give me some examples of what you feel these are?
A version of Network.HTTP that accepts HTTPS URLs and does the right thing instead of attempting to do a HTTP connection instead.
Yeah, we use the curl library for all our HTTPS stuff.

Don Stewart wrote:
A version of Network.HTTP that accepts HTTPS URLs and does the right thing instead of attempting to do a HTTP connection instead.
Yeah, we use the curl library for all our HTTPS stuff.
Well there is a big difference between Network.Curl and Network.HTTP. HTTP is really easy to understand and use, while Curl is not. What I would like to do is a POST operation to a HTTPS server with Content-Type "text/xml" and then get the HTTP response code as well as the body which is also "text/xml". This should be easy and should be obvious, but unfortunately does not even seem to be supported by Network.Curl. The Network.Curl API is rather weird. It has a very sensible and obvious GET function: curlGetString :: URLString -> [CurlOption] -> IO (CurlCode, String) but no corresponding POST function. Instead it has: curlPost :: URLString -> [String] -> IO () curlMultiPost :: URLString -> [CurlOption] -> [HttpPost] -> IO () both of which seem to only support x-www-form-urlencoded data and not text/xml. Furthermore, whats with the 'IO ()' result? Wouldn't it make more sense to return 'IO (CurlCode, String)' like curlGetString? I don't like to be critical of other people's projects, but Network.Curl seems to be one huge ball of confusion. Erik -- ---------------------------------------------------------------------- Erik de Castro Lopo http://www.mega-nerd.com/

Exactly, it's things like this that are so frustrating and which reduce efficiency. In a mature library, you don't need to handle details like this for yourself. Regards, John A. De Goes N-Brain, Inc. The Evolution of Collaboration http://www.n-brain.net | 877-376-2724 x 101 On Oct 7, 2009, at 6:44 PM, Erik de Castro Lopo wrote:
Curt Sampson wrote:
On 2009-10-02 09:03 -0600 (Fri), John A. De Goes wrote:
[Haskell] is missing many key libraries that would be of great commercial value.
Just out of curiousity, can you give me some examples of what you feel these are?
A version of Network.HTTP that accepts HTTPS URLs and does the right thing instead of attempting to do a HTTP connection instead.
Erik -- ---------------------------------------------------------------------- Erik de Castro Lopo http://www.mega-nerd.com/ _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

On 8 Oct 2009, at 00:41, Curt Sampson wrote:
On 2009-10-02 09:03 -0600 (Fri), John A. De Goes wrote:
[Haskell] is missing many key libraries that would be of great commercial value.
Just out of curiousity, can you give me some examples of what you feel these are?
Relational database libraries that work and have proper documentation i.e. those homework killers - examples, not just API docs or half finished wikis. Just google up how to connect to a database in any well-used (commercially) language and there will be a ton of fully fleshed out docs with examples I can cut n paste from.* No thinking, no time wasted, just get it done and get on with the real stuff. Haskell doesn't have that, and Happs isn't going to replace all those databases out there. (yet) *If you don't like the idea of cut n paste coding don't complain to me, it's given me a career and I'm grateful for that. Iain

Here's a list of libraries that are quite significant to commercial software development in 2009, but which either do not exist in Haskell, or if they exist, are hard to find, undocumented, unstable, or perhaps uncompilable: * A drop-in comet server, with JavaScript bindings (or compatible with existing JavaScript bindings). * A library for producing RESTful APIs, which does much of the work in mapping URLs into operations on a database. * Speaking of database, a robust, well-documented, cross-platform interface to popular databases, with a commercial-friendly license. * A scalable, fault-tolerant, distributed data store in the mold of BigTable, which provides map reduce. Or at least Haskell bindings for one, and a Haskellized wrapper around the binder. * A Haskell client for AMQP or other message broker, ideally reactive but anything's better than nothing. And while I'm at it, how about a 100% Haskell message broker that takes advantage of Haskell's functional nature to deliver something of Erlang quality. * A scalable, fault-tolerant, distributed graph database that can be used for building and maintaining social networks. * A networking library that supports peer-to-peer communication, authentication, encryption, and other features via plug-ins, with seamless multicasting when possible. * Infrastructure for building Haskell cloud computing clusters that are scalable and fault-tolerant. * Search and other data mining libraries, with robust indexing features, and the capacity to scale indefinitely. * Haskell interfaces to Twitter, Facebook, MySpace, Google, etc. * etc. In any one of these categories, Java has multiple implementations, sometimes 20 or more (yes, it's absurd at times, but it's also comforting because it means choosing Java is not risky). Many are meticulously documented with extensive Javadoc and tutorials. And this just scratches the surface. Most apps today are web apps, meaning they have client and server portions. Some modern languages natively support cross-compilation (Haxe, Fan), and others such as Java can be cross-compiled with the aid of third-party packages (gwt, java2script), but not Haskell. Reusing code, and using a single language across different platforms opens up many new possibilities and greatly improves productivity and efficiency. Let me ask you this question. How long would it take you to write a scalable first-pass Twitter clone? A good Java developer could do it in a week, maybe a day, and deploy it on AppEngine, where it will scale indefinitely with no effort. That's power. The syntax of a language, no matter how beautiful or high-level, cannot compete with the billions of dollars worth of resources freely available for inferior languages like Java. Haskell on the JVM with seamless Java interop (no need for method-by- method foreign import of information that's freely available via reflection) would go a long way towards leveling the playing field. Regards, John A. De Goes N-Brain, Inc. The Evolution of Collaboration http://www.n-brain.net | 877-376-2724 x 101 On Oct 7, 2009, at 5:41 PM, Curt Sampson wrote:
On 2009-10-02 09:03 -0600 (Fri), John A. De Goes wrote:
[Haskell] is missing many key libraries that would be of great commercial value.
Just out of curiousity, can you give me some examples of what you feel these are?
cjs -- Curt Sampson
+81 90 7737 2974 Functional programming in all senses of the word: http://www.starling-software.com

john:
* Haskell interfaces to Twitter, Facebook, MySpace, Google, etc.
This one is fine: twitter hs-twitter library: Haskell binding to the Twitter API del.icio.us delicious library: Accessing the del.icio.us APIs from Haskell (v2) friendfeed ffeed library and programs: Haskell binding to the FriendFeed API LiveJournal feed2lj program: Cross-post any RSS/Atom feed to LiveJournal flickr flickr library and programs: Haskell binding to the Flickr API amazon hS3 library and program: Interface to Amazon's Simple Storage Service (S3) mediawiki mediawiki library and programs: Interfacing with the MediaWiki API google pubsub pubsub library and programs: A library for Google/SixApart pubsub hub interaction Speaking of REST, RESTng library: A framework for writing RESTful applications. And auth: WindowsLive windowslive library and program: Implements Windows Live Web Authentication and Delegated Authentication OpenID openid library: An implementation of the OpenID-2.0 spec. OAuth hoauth library and program: A Haskell implementation of OAuth 1.0a protocol. We've obviously not all there yet, but we have a way to get there -- write and improve code on Hackage. Galois is doing its part (we've released dozens of web packages), but the other commercial users need to help out too. Join the Industrial Haskell Group and fund open source work. Or, if you can, release some of the non-IP-encumbered things you work on! -- Don

Some of these are not ready for production use; e.g.: RESTng: "RESTng is still experimental and incomplete". It has no documentation and doesn't even compile. Sadly typical. It's a bit of a chicken and egg thing. I'd switch to Haskell in a commercial setting if there were more good libraries, yet the act of switching would lead to the production of more good libraries. The latter, though, is cost-prohibitive, given all the components that would need to be developed. A few years from now, or post Haskell-on- JVM, I might be singing a different tune. I do greatly admire the work you and your company have done for Haskell. What has the Industrial Haskell group done so far? I haven't seen any announcements. The work I'd be most interested in helping co-sponsor is Haskell on JVM (biggest bang for the buck). Regards, John A. De Goes N-Brain, Inc. The Evolution of Collaboration http://www.n-brain.net | 877-376-2724 x 101 On Oct 8, 2009, at 11:24 AM, Don Stewart wrote:
john:
* Haskell interfaces to Twitter, Facebook, MySpace, Google, etc.
This one is fine:
twitter hs-twitter library: Haskell binding to the Twitter API del.icio.us delicious library: Accessing the del.icio.us APIs from Haskell (v2) friendfeed ffeed library and programs: Haskell binding to the FriendFeed API LiveJournal feed2lj program: Cross-post any RSS/Atom feed to LiveJournal flickr flickr library and programs: Haskell binding to the Flickr API amazon hS3 library and program: Interface to Amazon's Simple Storage Service (S3) mediawiki mediawiki library and programs: Interfacing with the MediaWiki API google pubsub pubsub library and programs: A library for Google/SixApart pubsub hub interaction
Speaking of REST,
RESTng library: A framework for writing RESTful applications.
And auth:
WindowsLive windowslive library and program: Implements Windows Live Web Authentication and Delegated Authentication OpenID openid library: An implementation of the OpenID-2.0 spec. OAuth hoauth library and program: A Haskell implementation of OAuth 1.0a protocol.
We've obviously not all there yet, but we have a way to get there -- write and improve code on Hackage. Galois is doing its part (we've released dozens of web packages), but the other commercial users need to help out too.
Join the Industrial Haskell Group and fund open source work. Or, if you can, release some of the non-IP-encumbered things you work on!
-- Don

The IHG (http://industry.haskell.org/) has funded about 6 months worth of development so far. You can see the status report here: http://industry.haskell.org/status Dynamic libraries, GMP-less GHC, and efficient Cabal, all appearing in the GHC 6.12. The IHG is designed as a mechanism whereby commerical users can ensure the toolchain they depend on is around for the long haul, or kick towards key features that would enable them to use Haskell in new ways. I think it is the best mechanism we have for commerical users to work on shared infrastructure -- stuff that benefits us all. john:
Some of these are not ready for production use; e.g.: RESTng: "RESTng is still experimental and incomplete". It has no documentation and doesn't even compile. Sadly typical.
It's a bit of a chicken and egg thing. I'd switch to Haskell in a commercial setting if there were more good libraries, yet the act of switching would lead to the production of more good libraries. The latter, though, is cost-prohibitive, given all the components that would need to be developed. A few years from now, or post Haskell-on-JVM, I might be singing a different tune.
I do greatly admire the work you and your company have done for Haskell.
What has the Industrial Haskell group done so far? I haven't seen any announcements. The work I'd be most interested in helping co-sponsor is Haskell on JVM (biggest bang for the buck).

Out of curiosity, why do you think that porting Haskell to the JVM would make such a large difference? Haskell can already interface with C libraries; are there really so many commercially vital libraries that are JVM-only? Cheers, Greg On Oct 8, 2009, at 11:08 AM, John A. De Goes wrote:
Some of these are not ready for production use; e.g.: RESTng: "RESTng is still experimental and incomplete". It has no documentation and doesn't even compile. Sadly typical.
It's a bit of a chicken and egg thing. I'd switch to Haskell in a commercial setting if there were more good libraries, yet the act of switching would lead to the production of more good libraries. The latter, though, is cost-prohibitive, given all the components that would need to be developed. A few years from now, or post Haskell-on- JVM, I might be singing a different tune.
I do greatly admire the work you and your company have done for Haskell.
What has the Industrial Haskell group done so far? I haven't seen any announcements. The work I'd be most interested in helping co- sponsor is Haskell on JVM (biggest bang for the buck).
Regards,
John A. De Goes N-Brain, Inc. The Evolution of Collaboration
http://www.n-brain.net | 877-376-2724 x 101
On Oct 8, 2009, at 11:24 AM, Don Stewart wrote:
john:
* Haskell interfaces to Twitter, Facebook, MySpace, Google, etc.
This one is fine:
twitter hs-twitter library: Haskell binding to the Twitter API del.icio.us delicious library: Accessing the del.icio.us APIs from Haskell (v2) friendfeed ffeed library and programs: Haskell binding to the FriendFeed API LiveJournal feed2lj program: Cross-post any RSS/Atom feed to LiveJournal flickr flickr library and programs: Haskell binding to the Flickr API amazon hS3 library and program: Interface to Amazon's Simple Storage Service (S3) mediawiki mediawiki library and programs: Interfacing with the MediaWiki API google pubsub pubsub library and programs: A library for Google/SixApart pubsub hub interaction
Speaking of REST,
RESTng library: A framework for writing RESTful applications.
And auth:
WindowsLive windowslive library and program: Implements Windows Live Web Authentication and Delegated Authentication OpenID openid library: An implementation of the OpenID-2.0 spec. OAuth hoauth library and program: A Haskell implementation of OAuth 1.0a protocol.
We've obviously not all there yet, but we have a way to get there -- write and improve code on Hackage. Galois is doing its part (we've released dozens of web packages), but the other commercial users need to help out too.
Join the Industrial Haskell Group and fund open source work. Or, if you can, release some of the non-IP-encumbered things you work on!
-- Don
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Yes. C is the language of operating systems and browsers and low-level system utilities -- not, by and large, the backbone of today's web applications. Projects written in C/C++ tend to be ignored in favor of those written in Java (Hypertable versus HBase, for example). There are exceptions, but there are fewer of them over time. Java's spot in the middle tier has overflowed into the bottom tier, as performance and community size have increased. Moreover, C libraries are seldom cross-platform (leading to wasteful fiddling and endless frustration), and they are painful to interface with due to the requirement for detailed type annotations, which are easy to get wrong. JVM is cross-platform, and contains sufficient typing information to permit one to write something like, "import foreign jvm java.list.Collection", and have typed access to the whole class and all of its methods. Regards, John A. De Goes N-Brain, Inc. The Evolution of Collaboration http://www.n-brain.net | 877-376-2724 x 101 On Oct 8, 2009, at 1:00 PM, Gregory Crosswhite wrote:
Out of curiosity, why do you think that porting Haskell to the JVM would make such a large difference? Haskell can already interface with C libraries; are there really so many commercially vital libraries that are JVM-only?
Cheers, Greg
On Oct 8, 2009, at 11:08 AM, John A. De Goes wrote:
Some of these are not ready for production use; e.g.: RESTng: "RESTng is still experimental and incomplete". It has no documentation and doesn't even compile. Sadly typical.
It's a bit of a chicken and egg thing. I'd switch to Haskell in a commercial setting if there were more good libraries, yet the act of switching would lead to the production of more good libraries. The latter, though, is cost-prohibitive, given all the components that would need to be developed. A few years from now, or post Haskell-on-JVM, I might be singing a different tune.
I do greatly admire the work you and your company have done for Haskell.
What has the Industrial Haskell group done so far? I haven't seen any announcements. The work I'd be most interested in helping co- sponsor is Haskell on JVM (biggest bang for the buck).
Regards,
John A. De Goes N-Brain, Inc. The Evolution of Collaboration
http://www.n-brain.net | 877-376-2724 x 101
On Oct 8, 2009, at 11:24 AM, Don Stewart wrote:
john:
* Haskell interfaces to Twitter, Facebook, MySpace, Google, etc.
This one is fine:
twitter hs-twitter library: Haskell binding to the Twitter API del.icio.us delicious library: Accessing the del.icio.us APIs from Haskell (v2) friendfeed ffeed library and programs: Haskell binding to the FriendFeed API LiveJournal feed2lj program: Cross-post any RSS/Atom feed to LiveJournal flickr flickr library and programs: Haskell binding to the Flickr API amazon hS3 library and program: Interface to Amazon's Simple Storage Service (S3) mediawiki mediawiki library and programs: Interfacing with the MediaWiki API google pubsub pubsub library and programs: A library for Google/SixApart pubsub hub interaction
Speaking of REST,
RESTng library: A framework for writing RESTful applications.
And auth:
WindowsLive windowslive library and program: Implements Windows Live Web Authentication and Delegated Authentication OpenID openid library: An implementation of the OpenID-2.0 spec. OAuth hoauth library and program: A Haskell implementation of OAuth 1.0a protocol.
We've obviously not all there yet, but we have a way to get there -- write and improve code on Hackage. Galois is doing its part (we've released dozens of web packages), but the other commercial users need to help out too.
Join the Industrial Haskell Group and fund open source work. Or, if you can, release some of the non-IP-encumbered things you work on!
-- Don
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

John,
On Thu, Oct 8, 2009 at 3:20 PM, John A. De Goes
JVM is cross-platform, and contains sufficient typing information to permit one to write something like, "import foreign jvm java.list.Collection", and have typed access to the whole class and all of its methods. [...]
Having painless Haskell <- Java interoperability would be great. I'm curious though: could it really be so simple as a one-line ``import foreign jvm'' directive? I imagine the purity mismatch between Haskell and Java would be very troublesome. With this hypothetical ``import foreign jvm'' mechanism, what would the be type of imported Java stuff? Would it all be done in IO? The more I think about it, the trickier it seems. Beside the purity mismatch of Haskell and Java, there is an OO/functional mismatch. Haskell / Java interop could be a huge boon; I just have trouble seeing how it could be so simple as a one-line import in your Haskell code. Sincerely, Brad

brad.larsen:
John,
On Thu, Oct 8, 2009 at 3:20 PM, John A. De Goes
wrote: [...] JVM is cross-platform, and contains sufficient typing information to permit one to write something like, "import foreign jvm java.list.Collection", and have typed access to the whole class and all of its methods. [...]
Having painless Haskell <- Java interoperability would be great. I'm curious though: could it really be so simple as a one-line ``import foreign jvm'' directive? I imagine the purity mismatch between Haskell and Java would be very troublesome.
No more so than C, surely. We're used to stateful APIs. They're a pain.
With this hypothetical ``import foreign jvm'' mechanism, what would the be type of imported Java stuff? Would it all be done in IO?
The more I think about it, the trickier it seems. Beside the purity mismatch of Haskell and Java, there is an OO/functional mismatch.
That's more of an issue. But the prior work has been done.

On Sat, Oct 10, 2009 at 5:11 PM, Don Stewart
brad.larsen:
John,
On Thu, Oct 8, 2009 at 3:20 PM, John A. De Goes
wrote: [...] JVM is cross-platform, and contains sufficient typing information to permit one to write something like, "import foreign jvm java.list.Collection", and have typed access to the whole class and all of its methods. [...]
Having painless Haskell <- Java interoperability would be great. I'm curious though: could it really be so simple as a one-line ``import foreign jvm'' directive? I imagine the purity mismatch between Haskell and Java would be very troublesome.
No more so than C, surely. We're used to stateful APIs. They're a pain. [...]
The use of foreign C libraries in Haskell is typically done through definition of lots of boilerplate code, putting a safe, workable Haskell veneer over the library. Right? I got the impression (perhaps wrongly) that John was suggesting a simple one-line ``import foreign jvm LIBRARY'' directive to let you use LIBRARY without writing all that boilerplate. Which would be very convenient, but is rather different than the situation with C libraries. Sincerely, Brad

brad.larsen:
On Sat, Oct 10, 2009 at 5:11 PM, Don Stewart
wrote: brad.larsen:
John,
On Thu, Oct 8, 2009 at 3:20 PM, John A. De Goes
wrote: [...] JVM is cross-platform, and contains sufficient typing information to permit one to write something like, "import foreign jvm java.list.Collection", and have typed access to the whole class and all of its methods. [...]
Having painless Haskell <- Java interoperability would be great. I'm curious though: could it really be so simple as a one-line ``import foreign jvm'' directive? I imagine the purity mismatch between Haskell and Java would be very troublesome.
No more so than C, surely. We're used to stateful APIs. They're a pain. [...]
The use of foreign C libraries in Haskell is typically done through definition of lots of boilerplate code, putting a safe, workable Haskell veneer over the library. Right?
I got the impression (perhaps wrongly) that John was suggesting a simple one-line ``import foreign jvm LIBRARY'' directive to let you use LIBRARY without writing all that boilerplate. Which would be very convenient, but is rather different than the situation with C libraries.
I don't see how this is enough -- any more than the one line imports of C libraries are enough. It'd be a good start.

Don,
Having painless Haskell <- Java interoperability would be great. I'm curious though: could it really be so simple as a one-line ``import foreign jvm'' directive? I imagine the purity mismatch between Haskell and Java would be very troublesome.
No more so than C, surely. We're used to stateful APIs. They're a pain.
With this hypothetical ``import foreign jvm'' mechanism, what would the be type of imported Java stuff? Would it all be done in IO?
The more I think about it, the trickier it seems. Beside the purity mismatch of Haskell and Java, there is an OO/functional mismatch.
That's more of an issue. But the prior work has been done.
Do you have any references to this work? I'm quite interested in this, both from a Haskell perpective (although I'm still a beginner) and from being the author of a Perl <-> Java interoperability module (see http://search.cpan.org/~patl/Inline-Java-0.52/). Thanks, Patrick _______________________________________________
Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
-- ===================== Patrick LeBoutillier Rosemère, Québec, Canada

Patrick LeBoutillier wrote:
Don,
Having painless Haskell <- Java interoperability would be great. I'm curious though: could it really be so simple as a one-line ``import foreign jvm'' directive? I imagine the purity mismatch between Haskell and Java would be very troublesome. No more so than C, surely. We're used to stateful APIs. They're a pain.
With this hypothetical ``import foreign jvm'' mechanism, what would the be type of imported Java stuff? Would it all be done in IO?
The more I think about it, the trickier it seems. Beside the purity mismatch of Haskell and Java, there is an OO/functional mismatch. That's more of an issue. But the prior work has been done.
Do you have any references to this work?
It was a major research topic about a decade ago, though the projects have died since. And the topic comes up about every 4 months on the Cafe, so I'd recommend sifting through the archives. I know last time it came up (or the time before?) I gave a rather extensive list of projects. And the wiki[1] still lists a few of them. The last time this discussion came up people got involved enough to revive LambdaVM[2], which was one of the more mature options back in the day. If you're interested in the topic, I suggest getting in touch with the author and helping out. On the topic of automatically embedding OO-style languages into Haskell, you should also check out hprotoc[3]. It's a package for Google's protocol buffers, which are ostensibly language agnostic but actually assume a (weakly) OO language. The hprotoc library will create a family of virtual modules based on the protocol spec and makes a pretty nice interface out of them. [1] http://www.haskell.org/haskellwiki/Applications_and_libraries/Interfacing_ot... [2] http://wiki.brianweb.net/LambdaVM/LambdaVM [3] http://hackage.haskell.org/package/hprotoc -- Live well, ~wren

There is no difficulty in principle with Haskell on JVM. There are, however, some obstacles in practice, as this page describes: http://haskell.org/haskellwiki/GHC:FAQ#Why_isn.27t_GHC_available_for_.NET_or... The way stands open for someone with design taste, knowledge of the JVM, and sustained willingness to roll up sleeves, to make a significant contribution. Simon | -----Original Message----- | From: haskell-cafe-bounces@haskell.org [mailto:haskell-cafe-bounces@haskell.org] On | Behalf Of wren ng thornton | Sent: 12 October 2009 01:54 | To: Haskell Cafe | Subject: Re: [Haskell-cafe] Re: Libraries for Commercial Users | | Patrick LeBoutillier wrote: | > Don, | > | >>> Having painless Haskell <- Java interoperability would be great. I'm | >>> curious though: could it really be so simple as a one-line ``import | >>> foreign jvm'' directive? I imagine the purity mismatch between | >>> Haskell and Java would be very troublesome. | >> No more so than C, surely. We're used to stateful APIs. They're a pain. | >> | >> | >>> With this hypothetical ``import foreign jvm'' mechanism, what would | >>> the be type of imported Java stuff? Would it all be done in IO? | >>> | >>> The more I think about it, the trickier it seems. Beside the purity | >>> mismatch of Haskell and Java, there is an OO/functional mismatch. | >> That's more of an issue. But the prior work has been done. | > | > Do you have any references to this work? | | | It was a major research topic about a decade ago, though the projects | have died since. And the topic comes up about every 4 months on the | Cafe, so I'd recommend sifting through the archives. I know last time it | came up (or the time before?) I gave a rather extensive list of | projects. And the wiki[1] still lists a few of them. | | The last time this discussion came up people got involved enough to | revive LambdaVM[2], which was one of the more mature options back in the | day. If you're interested in the topic, I suggest getting in touch with | the author and helping out. | | On the topic of automatically embedding OO-style languages into Haskell, | you should also check out hprotoc[3]. It's a package for Google's | protocol buffers, which are ostensibly language agnostic but actually | assume a (weakly) OO language. The hprotoc library will create a family | of virtual modules based on the protocol spec and makes a pretty nice | interface out of them. | | | [1] | http://www.haskell.org/haskellwiki/Applications_and_libraries/Interfacing_ot... | uages | [2] http://wiki.brianweb.net/LambdaVM/LambdaVM | [3] http://hackage.haskell.org/package/hprotoc | | -- | Live well, | ~wren | _______________________________________________ | Haskell-Cafe mailing list | Haskell-Cafe@haskell.org | http://www.haskell.org/mailman/listinfo/haskell-cafe

On 11/10/2009, at 8:11 AM, Don Stewart wrote:
brad.larsen:
With this hypothetical ``import foreign jvm'' mechanism, what would the be type of imported Java stuff? Would it all be done in IO?
The more I think about it, the trickier it seems. Beside the purity mismatch of Haskell and Java, there is an OO/functional mismatch.
That's more of an issue. But the prior work has been done.
At the risk of exposing my ignorance: would you recommend any particular papers? Hubris has a particularly restricted model of this, simply because I don't know how to approach it in a more comprehensive fashion. Cheers Mark

On Oct 10, 2009, at 12:47 PM, Brad Larsen wrote:
With this hypothetical ``import foreign jvm'' mechanism, what would the be type of imported Java stuff? Would it all be done in IO?
Yes, that's a good first-start.
The more I think about it, the trickier it seems. Beside the purity mismatch of Haskell and Java, there is an OO/functional mismatch.
That just means an extra argument to every function and some unsafe downcasts; and maybe some funky mechanism for subclassing, for those libraries that require it (deprecated in modern OOP but not uncommon).
Haskell / Java interop could be a huge boon; I just have trouble seeing how it could be so simple as a one-line import in your Haskell code.
I'm not saying the one-line import would give you anything more than purely imperative wrappers around Java code. But that's a start. It's "good enough". If it existed, I could transition two companies over to Haskell, and likely more in the future. Regards, John A. De Goes N-Brain, Inc. The Evolution of Collaboration http://www.n-brain.net | 877-376-2724 x 101

On Thu, 2009-10-08 at 09:43 -0600, John A. De Goes wrote:
Here's a list of libraries that are quite significant to commercial software development in 2009,
For the kinds of applications that you would like to build.
but which either do not exist in Haskell, or if they exist, are hard to find, undocumented, unstable, or perhaps uncompilable:
Certainly having more libs enables more apps and that stuff would enable your applications. Fortunately it's not an all-or-nothing thing. There are plenty of applications we can do now. For the commercial software I've developed in Haskell, all the libraries I've needed were available and sufficiently mature: decent data structures, binary serialisation, fast random numbers, date/time handling, GUI lib. Duncan

On Oct 9, 2009, at 10:07 AM, Duncan Coutts wrote:
On Thu, 2009-10-08 at 09:43 -0600, John A. De Goes wrote:
Here's a list of libraries that are quite significant to commercial software development in 2009,
For the kinds of applications that you would like to build.
The vast majority of applications being built today are web apps.
Certainly having more libs enables more apps and that stuff would enable your applications. Fortunately it's not an all-or-nothing thing. There are plenty of applications we can do now. For the commercial software I've developed in Haskell, all the libraries I've needed were available and sufficiently mature: decent data structures, binary serialisation, fast random numbers, date/time handling, GUI lib.
Sure, there are applications that Haskell is a good fit for. See my other message on the subject. Regards, John A. De Goes N-Brain, Inc. The Evolution of Collaboration http://www.n-brain.net | 877-376-2724 x 101

On 2009-10-09, at 7:53 PM, John A. De Goes wrote:
The vast majority of applications being built today are web apps.
I'm not convinced this is the case. There are still a great many enterprise desktop apps and mobile apps being built, and the selection bias towards internet-based applications on a mailing list (not to mention the selection bias in blogs, reddit, etc). I'm not saying you're wrong, just that i'd love to see some research into it. -johnnnnnnn

I don't have any research, but anecdotally, I know numerous startups, and most of them are producing web applications (usually client and server, but sometimes server only). Those doing desktop and mobile apps usually do server development, too, because in the age of ubiquitous network connectivity, applications that cannot take advantage of the Internet are few and far between. Most internal development is in the form of web apps (it's rare to see a company that produces desktop applications for in-house use), and most job postings today are for client-side developers (JavaScript, CSS/HTML, Flash) or server-side developers (Java, PHP, Ruby, etc.). Regards, John A. De Goes N-Brain, Inc. The Evolution of Collaboration http://www.n-brain.net | 877-376-2724 x 101 On Oct 10, 2009, at 12:11 PM, John Melesky wrote:
On 2009-10-09, at 7:53 PM, John A. De Goes wrote:
The vast majority of applications being built today are web apps.
I'm not convinced this is the case. There are still a great many enterprise desktop apps and mobile apps being built, and the selection bias towards internet-based applications on a mailing list (not to mention the selection bias in blogs, reddit, etc).
I'm not saying you're wrong, just that i'd love to see some research into it.
-johnnnnnnn

Hi Curt, in case you regard as 'mainstream' big industry projects, this is not the thing at least I am speaking about. I am speaking about small and especially medium sized projects. Frankly, I think that: o there are people among us which at some times have influence on decisions about the software platform of projects - which tend to hesitate in proposing Haskell, as they do not see an appropriate infrastructure at hand. This not necessarily needs to be the 'classical' enterprise-employee thing - the occasion to know a group of experts to be able to engage in a looser cooperation might serve well, too, etc., etc. o there are, on the other side, people among us, wanting exactly to do this... Why not let them cooperate, no matter how big it will grow in comparison to Java & Co, in a way appropriate to the Haskell community? Nick

Fairly late to the party on this discussion, but this captured my attention:
On Tue, Sep 29, 2009 at 11:35 AM, Curt Sampson
This may be somewhat anecdotal evidence, but I disagree with both of your statements here. I've rarely known anybody to use Java cross-platform in a non-trival way, barring a few major GUI-centric projects such as Eclipse. (I've far more cross-platform use of Haskell than Java myself.) And I know of nobody who did anything serious with download-execution of Java.
I agree with the download/execution part of this, but I'd be willing to bet that it is incredibly common for Java developers to write and test code in an environment very different from the actual deployment environment. With Java, it requires no special forethought to write an application on a Windows or Mac laptop, be able to run all the unit tests, etc., locally, and then deploy the production application to a Linux or Solaris or *nix server (or a combination) without any required recompilation. This is a pretty powerful selling point for the JVM as a target platform, and everywhere I've seen Java used, it's been taken advantage of.

Most successful languages spread because they are part of a platform which solves an IT problem. C was part of Unix, both brougth CPU independence when this was necessary. Java is part of the Java platform, that brougth OS independence and interoperability at the right time. .Download-execution on the client was also a reason for the initial success of Java in the Internet era. Javascript is part of the web browser. The .NET languages are part of NET. Rubi and Pyton came with libraries targeted to Rapid development of Internet applications. What is the vehicle that haskell can use to enter the mainstream?. I think that the mere interest of the ideas in the language is not enough. Many people will play with Haskell in the spare time, and many of them will be permitted to develop some non critical applications at work. But that is all. Java was not designed for the Internet but it was re-targeted to it because some needed features where already implemented in Java. Maybe something like that will happen to Haskell.
I think that all the current niches are filled, but new niches are coming. specially with higher level programming that is made on top of current sorware software infrastructure such are BPM, workflows, more flexible scientific applicatins, creation of models in business intelligence, as part of ERPs,.Data mining too. And higuer levels of netwrok communications( for example, Google Wave robots) etc. I see one additional driver: Once a programming language community grows saturated, its members tend to become fastidious, 'sales people' enter
About the last point, sometimes a basically identical infrastructure is re-engineered to a higher level, and a new language takes over. For example, the architecture of many Internet applications in the 80s was client-server based, where C, C++ was the king. This was substituted by the web architecture with Java because Java was involved in the gradual change by filling the holes of the new architecture. It could be that in a few years, instead of Web sites people could develop interoperable gadgets for aggregators such are netvibes or IGoogle or, even more radical, robots and gadgets in google Wave. Anyway, for sure, people will think and develop at a higher level. Financial applications are an example of higher level programming where tasks usually performed by humans are now automatized and there is no or few traditions about that. The need to think at a higher level without being worried by side effects and other details are specially needed in such kind of areas. That's where haskell could have its own niche. This reminds me of the whole agent thing -- pretty much dominated by Java (e.g., Jade, Jason, Jack) nowadays --, for which I would bet lots
Alberto G. Corona wrote: the scene -- look at such Java etc. programmers proud to tell how much money they are making. This impacts the goal structure, 'success' becomes more important than 'doing interesting work' -- in consequence the spectrum of engagement narrows. IMHO, many customers just aren't involved into the language issue, just wanting to get things done -- getting the better conditions, they would not hesitate to adopt Haskell. John Hudak (e.g. see his book) proposed Haskell to be appropriate for the niche of for multimedia programming -- in fact, nowadays Anygma.com (see www.nazooka.com) is active in exactly this field, some quote from their side being interesting. At least, it is quite funny that Haskell (together with Clean & Mercury) after having long to struggle with exactly this issue, now can present the deepest understanding (by Monad & Co.) of IO, concurrency, state stransitions and the like, so for the future, there might be a grain of truth in it. All the time, I am astound in how so few people achieve so much in producing Haskell code! Keeping in mind that there are lots of semiautomatic quality assurance techniques, for which -- though having weaknesses in IDE's and refactoring browsing (how about the Portland hackathon?) -- in some parts (e.g. QuickCheck) plays a leading role. To me, Haskell seems to have proved one very important thing: To have emancipated programming from the highly industrialized mass production process focused upon huge organization and their hierarchy pyramids (with, usually, the coder at its base). It emancipated code (== Haskell (, although not Coq)) to serve as highest level of intellectual presentation -- what I want to say is people have some joy in expressing their special knowledge in a Haskell library. I am very interested what will happen if the parcours of competition will change from massively repeated but principally simple processes (shops, business portals, communities, maybe even ERP...) to less repetitive structures -- and inhowfar non-functional programming will become a pain then -- is that what you mean? things are done more straigthforward using Haskell -- especially those parts the Java coders are usually proud of... Let's maybe speak of *second order scalability*: As first order scalability would rather be a matter in space time load increased by repetitions, the concern of second order scalability would be more about a *fractal* expansion of concepts like a *closure* -- Haskell, already in a vivid exchange with interactive theorem proving (e.g. Coq adopts type classes from Haskell and dependent types vice versa) seems excellently prepared... :-) I ever tended to say financial applications are especially prone to be boring -- the prototype of repetitive IT, even for strategy the stupid 'traffic lights cockpits' or OLAP(!) ... But this problem is rather supply driven to me. Going into business with Haskell means two things to me: o communication: To many Haskellers this will mean going to people they just would not have met otherway and finding out inhowfar it's possible to build up a constructive relationship with those. This is emphasized for instance by the *XP / agile process* which harmonizes very well with Haskell. o experience: Once having begun, I bet Haskellers -- and the Haskell code base -- will learn at a fast pace. Outing myself, I admit I am using tools like HaRe, Yi, Leksah & the Eclipse plugin too seldom to allow my self doing contributions. Once these tools are in stronger use I expect them to evolve at a very fast pace. Under the bottom line, entering the medium sized project market with Haskell should be regarded as a matter of months, not years. ;-) All the best, Nick
Regards
2009/9/29 Jörg Roman Rudnick
mailto:joerg.rudnick@t-online.de> These problems are critical -- but not hopeless, I think:
(1) A simple technical matter, any average Haskell programmer (including myself...) can build a platform, e.g. in Happstack or the like, to clear this up (given you want to do this in Haskell ;-).
(4) This is a special one, which I have pondered on some time ago. The customers' main concern seems to be "will this company still support me in n years??" o if the project is interesting enough, I see hope there might be some academic unit willing to partake in this, as I have heard enough complaint of not having enough examples to demonstrate business relevance to students. Normally, the customer should have no problem in believing an academic unit and its interests to last some time. o I would propose to pick up the insourcing concept -- as, what I can confirm by my own teaching experiences, it sometimes is easier to introduce Haskell to beginners (once the do have sufficient OS experience) then to people who already are adherents of some other language. Ok, we might need some more introductory literature etc.
(3) Yes, there seem to be lots of people organized at a smaller level than what I described -- groups of one or very few members, working on a limited time range.
Yesterday, I would have written there should be remarkable interest in greater projects, but, due to the poor resonance to my mail, I feel wary to do so now.
(3)&(2) Such a reserved reaction might indicate many Haskellers are not motivated by the money but by the fame, and -- as the lively succJava thread shows -- what could be greater fame (besides the evaluation of 42) than stealing the Java etc. community just another attractive project? ;-))
Do I go wrong in saying there's a good deal of competitive spirit in the Haskell community interesting in taking claims away of other programming cultures which have grown saturated over the years? And, isn't the this *Haskeller bonus* indicating that doing the step to larger project should not be as hard as for others?
A remaining issue might be a need for some facility to find cooperations and realize synergies -- see (1).
Enough blah-blah. I got one email response (not posted to here) of a highly qualified Haskeller whom I could name two projects which might have interested him in his proximity, 80 miles and 75 miles away (and I do not have so many...). My learning is that a communication platform in this concern might be interesting to at least some of us. There are larger projects possible -- if we pick them up.
All the best,
Nick
John A. De Goes wrote:
It's very difficult to find information on:
1. How many Haskell developers are out there; 2. What a typical salary is for a Haskell developer; 3. Whether or not the skills of a typical Haskell developer scale to large applications (most Haskell developers are "hobby" Haskellers and have only written tiny to small Haskell apps); 4. How many shops are capable of handling Haskell development & maintenance.
These are the kinds of information one needs to make an informed decision about whether to introduce Haskell into the workplace.
Regards,
John A. De Goes N-Brain, Inc. The Evolution of Collaboration

SORRY... it's *far after midnight* here... of course: Paul Hudak: http://cs-www.cs.yale.edu/homes/hudak-paul/

This reminds me of the whole agent thing -- pretty much dominated by Java (e.g., Jade, Jason, Jack) nowadays --, for which I would bet lots things are done more straigthforward using Haskell -- especially those parts the Java coders are usually proud of... Let's maybe speak of *second order scalability*:
As first order scalability would rather be a matter in space time load increased by repetitions, the concern of second order scalability would be more about a *fractal* expansion of concepts like a *closure* -- Haskell, already in a vivid exchange with interactive theorem proving (e.g. Coq adopts type classes from Haskell and dependent types vice versa) seems excellently prepared... :-)
Interesting. I´m working in something like second order scalability. Instead of brute performance by redundancy, high speed networks and fast disks, scalability can be achieved by looking at the properties of the data.
I ever tended to say financial applications are especially prone to be boring -- the prototype of repetitive IT, even for strategy the stupid 'traffic lights cockpits' or OLAP(!) ... But this problem is rather supply driven to me.
For sure. This is supply driven. There are a lack of new ideas mainly
because the technology is low level and obsolete.

Hi Alberto, you are working on *second order scalibility*?? Great. May I regard you a one of the first of a breed of Haskell business evangelists?? ;-)) Somebody stated here - sorry, the name's missing - the relevance of Hackage being diminuished by the great amount of *scientific* libraries, no joke... Personally, I don't think Haskell should become like Java & Co. So for at least for two reasons, I see at least two reasons to speak open about what you are seemingly interested: o to support Haskell library developers to better realize the value of their work, and teams intending software projects in the non-standard areas to realize advantages of using Haskell, once they are given o to prevent conflicts, when Haskell grows economically more successful, and allowing a harmonious transition between both cultures Keep on the work ;-) Nick Alberto G. Corona wrote:
This reminds me of the whole agent thing -- pretty much dominated by Java (e.g., Jade, Jason, Jack) nowadays --, for which I would bet lots things are done more straigthforward using Haskell -- especially those parts the Java coders are usually proud of... Let's maybe speak of *second order scalability*:
As first order scalability would rather be a matter in space time load increased by repetitions, the concern of second order scalability would be more about a *fractal* expansion of concepts like a *closure* -- Haskell, already in a vivid exchange with interactive theorem proving (e.g. Coq adopts type classes from Haskell and dependent types vice versa) seems excellently prepared... :-)
Interesting. I´m working in something like second order scalability. Instead of brute performance by redundancy, high speed networks and fast disks, scalability can be achieved by looking at the properties of the data.
I ever tended to say financial applications are especially prone to be boring -- the prototype of repetitive IT, even for strategy the stupid 'traffic lights cockpits' or OLAP(!) ... But this problem is rather supply driven to me.
For sure. This is supply driven. There are a lack of new ideas mainly because the technology is low level and obsolete.

If there is demand for shops to work on smaller jobs in haskell then I think a having a more specific marketplace/communication platform for haskell work would be very helpful. If there is a perceived demand, supply will soon follow. - Job On Tue, Sep 29, 2009 at 5:48 AM, Jörg Roman Rudnick < joerg.rudnick@t-online.de> wrote:
These problems are critical -- but not hopeless, I think:
(1) A simple technical matter, any average Haskell programmer (including myself...) can build a platform, e.g. in Happstack or the like, to clear this up (given you want to do this in Haskell ;-).
(4) This is a special one, which I have pondered on some time ago. The customers' main concern seems to be "will this company still support me in n years??" o if the project is interesting enough, I see hope there might be some academic unit willing to partake in this, as I have heard enough complaint of not having enough examples to demonstrate business relevance to students. Normally, the customer should have no problem in believing an academic unit and its interests to last some time. o I would propose to pick up the insourcing concept -- as, what I can confirm by my own teaching experiences, it sometimes is easier to introduce Haskell to beginners (once the do have sufficient OS experience) then to people who already are adherents of some other language. Ok, we might need some more introductory literature etc.
(3) Yes, there seem to be lots of people organized at a smaller level than what I described -- groups of one or very few members, working on a limited time range.
Yesterday, I would have written there should be remarkable interest in greater projects, but, due to the poor resonance to my mail, I feel wary to do so now.
(3)&(2) Such a reserved reaction might indicate many Haskellers are not motivated by the money but by the fame, and -- as the lively succJava thread shows -- what could be greater fame (besides the evaluation of 42) than stealing the Java etc. community just another attractive project? ;-))
Do I go wrong in saying there's a good deal of competitive spirit in the Haskell community interesting in taking claims away of other programming cultures which have grown saturated over the years? And, isn't the this *Haskeller bonus* indicating that doing the step to larger project should not be as hard as for others?
A remaining issue might be a need for some facility to find cooperations and realize synergies -- see (1).
Enough blah-blah. I got one email response (not posted to here) of a highly qualified Haskeller whom I could name two projects which might have interested him in his proximity, 80 miles and 75 miles away (and I do not have so many...). My learning is that a communication platform in this concern might be interesting to at least some of us. There are larger projects possible -- if we pick them up.
All the best,
Nick
John A. De Goes wrote:
It's very difficult to find information on:
1. How many Haskell developers are out there; 2. What a typical salary is for a Haskell developer; 3. Whether or not the skills of a typical Haskell developer scale to large applications (most Haskell developers are "hobby" Haskellers and have only written tiny to small Haskell apps); 4. How many shops are capable of handling Haskell development & maintenance.
These are the kinds of information one needs to make an informed decision about whether to introduce Haskell into the workplace.
Regards,
John A. De Goes N-Brain, Inc. The Evolution of Collaboration
http://www.n-brain.net | 877-376-2724 x 101
On Sep 28, 2009, at 7:01 AM, Jörg Roman Rudnick wrote:
In the last months, I made the experience it seems difficult to find commercial Haskell developer teams to take responsibility for projects in the range of $ 10.000 - 100.000. The Industrial Haskell Group does not seem to be the appropriate place for this, while harvesting Haskell team at general market places appears to be tedious.
I would be very interested in others' experiences, and inhowfar my opinion is shared that there should be a demand for such a market place, for developer teams as well as those sympathizing with introducing Haskell somewhere.
Nick _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
------------------------------
_______________________________________________ Haskell-Cafe mailing listHaskell-Cafe@haskell.orghttp://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
participants (22)
-
Alberto G. Corona
-
Ben Franksen
-
Brad Larsen
-
Curt Sampson
-
Don Stewart
-
Duncan Coutts
-
Erik de Castro Lopo
-
Gregory Crosswhite
-
Iain Barnett
-
Job Vranish
-
John A. De Goes
-
John Melesky
-
Jörg Roman Rudnick
-
Ketil Malde
-
Mark Wotton
-
Max Bolingbroke
-
Max Cantor
-
Patrick LeBoutillier
-
Robert Greayer
-
Simon Peyton-Jones
-
Thomas Hartman
-
wren ng thornton