Last time I messed with Haskell, I chose the nhc98 compiler because it was easily available for the PowerPC Mac. When Haskell had cropped up in discussions with not one, but two ColdFusion developers this week, I figured I'd install it on my new Intel Mac. Except nhc98 is not available as a binary distribution for the Intel Mac. Easy, I thought, download the source and build it myself. The build failed. The notes suggest using the ulimit command to remove the file-size limitation on the shell. OK. The build still failed. The notes say if you can't solve it with ulimit, use another Haskell compiler to help bootstrap the build.
Try as I might, I couldn't find an existing Intel Mac binary of any Haskell compiler. But there's an IRC channel listed on the Haskell web site. #haskell on freenode.net. I figured that #coldfusion is so helpful that I might as well try the #haskell channel... There were nearly 300 people in there! And, guess what? They were very happy to help me for several hours. First, they pointed me at an Intel Mac build of ghc (the Glasgow Haskell Compiler) which, incidentally, was contributed by a member of the Haskell community (i.e., built from source and submitted back). I installed it and it worked just fine. So far so good.
Then I installed hmake and hi (hmake interactive) which are build and shell tools for using Haskell compilers. I ran into problems with a library dependency. Again, the IRC channel folks were very helpful. Following their instructions, I removed the (obsolete) dependency and successfully built and installed the two hmake tools. Yay!
Then I went back to nhc98, determined to build that from source. I ran into several more dependency problems. Back to the IRC channel. Similar advice (nhc98 is old and the dependencies aren't needed when using newer compilers to bootstrap it). I finally got it built but, unfortunately, every file it generated just crashed. By this point, the IRC folks were wondering why I was bothering since nhc98 has really reached a dead-end. They pointed out that ghc has an interactive tool (ghci) anyway. So I admitted defeat and starting playing with ghci...
Some of the tutorials on the web features code that didn't work. A quick check in with the IRC channel and I learn that Haskell 98 had a flat namespace for libraries but since then the standard library ("Prelude") has been reorganized into a hierarchy of packages. We discussed some of the slight differences between Haskell 98 (per the tutorials I was trying to follow) and "modern" Haskell and I kept on learning.
One of the interesting things about the channel is that members are constantly swapping code fragments and experimenting amongst themselves with ways to solve problems. Very collaborative!
So, once again, I'll suggest to the curious among you to check out Haskell.
I'd also ask you to think about the difference between the #coldfusion channel on DAL.net and the #haskell channel on freenode.net. #coldfusion has 20-30 members most of the time and occasionally gets as high as 50. For the most part it is banter about everyday life but folks will rally and focus if someone comes on asking a ColdFusion question. #haskell has 270-300 members and discussion is mostly about Haskell. We're all so very passionate about ColdFusion and we like helping newbies. Why are so few CFers on IRC compared to Haskell developers?
Talking of which, given that I've NEVER tried IRC, what client would you recommend for an Intel Mac?
Hmmmm.
Could also be that CFers are more comfortable with forums and blog discussions as a means of communication, which give you a little more time to think about your response and are easier to search through or save for reference.
--Brian
As another example: I have leaped into the Ruby on Rails world; its a fact that Ruby (and especially Rails) is much more geared towards *nix, it runs best on BSD/Linux/Mac OS X, etc. In addition, the IRC channels #rubyonrails and #ruby have upwoards of 250-300 users at any one time and most questions can be answered very quickly.
Is there a pattern here? Or I am just a jaded, anti-Windows cynic?
It might well be that *nix developers are more aware of and more comfortable with "old-school" text-based stuff - look at all the command line source code control and package installation tools around. I think there's also a lot more open source activity on *nix (for pretty obvious reasons) which in turn leads to a preference for non-proprietary technology (IRC and Jabber rather than AIM, MSN and YIM for example).
I'm on the Mac as well and got similar help in locating the (PPC) binary of GHC and GHCi that I'm using now.
I don't know if you noticed this during your time in the channel, but they aren't just pasting code -- the channel bot ("lambdabot") serves as, among other things, an in-channel Haskell interpreter.
There's also a big Haskell event starting tomorrow, so that will probably make the channel even more lively:
http://haskell.org/haskellwiki/Hac_2007
On #coldfusion, cfmx7bot serves a similar purpose to the classic 'egg drop' IRC bit. It's written in ColdFusion of course (just like lambdabot is written in Haskell).
Also like lambdabot, it can interpret expressions for you using the !calc command (it filters the expression quite heavily in an attempt to prevent malicious code but it may not actually be perfect so I have to trust folks here).
I used IRC for many years, never really having been a *nix person (never ran *nix as a desktop).
It's an old, insecure and unreliable technology and at one point was being so maliciously attacked that many of us just stopped using it.


