
How do people stumble on Haskell? I've taught ML at UPenn, and many of my colleagues in Amazon are in SeaFunc -- switching from C funk to func funk. I've got Hudak's book a while ago, but didn't have time/excuse to delve into it until recently. Then the most fantastic chain if events triggered it: -- finally switched to Intel Mac -- got Parallels -- got a recent Linux, openSUSE 10.2, to stick into Parallels -- decided finally to try Gentoo -- found equery slow, came across Adelie/FQuery as "fast equery" -- emerge adelie To my surprise, saw it emerge GHC! Realized Adelie is a Haskell way to hack Portage. Dug all things Haskell! I also used Darcs for a long time. It probably takes several pro et contra factors to push away from boring things and to be inducted into interesting FP things. Again, UPenn focus on ML was invaluable, and Ullman's book on ML superb -- and thin! What's folks most interesting ways to arrive at FP? Cheers, Alexy

On Sun, Jan 28, 2007 at 07:01:57PM -0800, Alexy Khrabrov wrote:
How do people stumble on Haskell? I've taught ML at UPenn, and many specific story elided What's folks most interesting ways to arrive at FP?
You want weird? I was referred here by the Unlambda Manual. Oh if I ignore the syntax and squint right unlambda is Really Really Good. Oh wait, this language Madore mentions in passing eliminates the need for squinting.

On 1/28/07, Alexy Khrabrov
How do people stumble on Haskell?
Read Ullman's book on ML. Look at Haskell at that point, but was insufficiently mathematically sophisticated to "get it" (hey, I was sixteen). Wrote numerical analysis code in Forth for a year or so. Hacked on a several hundred thousand line FORTRAN 77 codebase. Wrote the simulation code for my physics thesis in C. Decided I never wanted to instantiate, destroy, or otherwise manage memory ever again. Had a hate-hate relationship with MATLAB, decided Mathematica was rubbish. Remembered Haskell. Now creating the programmatic equivalent of a cyborg, hunchback puppeteer to control a Java image analysis program in Scheme. So of course the best work I've done has been completely analytic mathematical physics without reference to computing of any kind. And I'm a biologist. This is known as being born in the Random monad. -- Frederick Ross Graduate Fellow, (|Siggia> + |McKinney>)/sqrt(2) Lab The Rockefeller University Je ne suis pas Fred Cross!

On Sun, 2007-28-01 at 19:01 -0800, Alexy Khrabrov wrote:
How do people stumble on Haskell?
I was working at a company I won't name on a product line that was collapsing under the weight of C++, mismanagement and the typical arch-conservatism of practicing programmers (for whom UNIX is still fresh and new). I was burning out rapidly as I foresaw the impending collapse of the company and was trying to figure out how to regain the love I used to have for my job. I decided that the technology we were using was part of the problem (and likely the indirect source of all the other problems like the management ones) and started looking at alternatives including Modula-3, Dylan, ML dialects, Erlang, etc. While investigating the MLs I stumbled across a reference (somewhat disparaging) to Haskell and lazy evaluation. I followed up on it (because the disparaging comment looked clannish to me) and looked at Haskell more closely. At the time I rejected Haskell as being too "academic-oriented" in favour of Dylan. Not long after that I gave up on software in general and took a nearly six-year break. During that time, as I relocated my initial love for programming, I looked at Haskell again and it took this time. -- Michael T. Richter Email: ttmrichter@gmail.com, mtr1966@hotpop.com MSN: ttmrichter@hotmail.com, mtr1966@hotmail.com; YIM: michael_richter_1966; AIM: YanJiahua1966; ICQ: 241960658; Jabber: mtr1966@jabber.cn "I find many of the machines of violence very attractive. Tanks, airplanes, warships, especially aircraft carriers. And the German U-boats, submarines." --The Dalai Lama

After many years of OO Perl, I looked at Python. Within fifteen minutes I had switched, and I never looked back at Perl. A few years later, I had a need to hack into the Python interpreter. While reading up on that, I came across references to Haskell. I soon realized that everything I liked about Python had been borrowed from Haskell in diluted form. -Yitz

On Jan 29, 2007, at 9:53 AM, Yitzchak Gale wrote:
After many years of OO Perl, I looked at Python. Within fifteen minutes I had switched, and I never looked back at Perl.
A few years later, I had a need to hack into the Python interpreter. While reading up on that, I came across references to Haskell. I soon realized that everything I liked about Python had been borrowed from Haskell in diluted form.
I do not think you are entirely right here; a lot of things were borrowed from a language called ABC, developed by Lambert Meertens and Steven Pemberton at the CWI as a substitute for Basic. See: http://homepages.cwi.nl/~steven/abc/ Doaitse
-Yitz _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

I wrote:
I soon realized that everything I liked about Python had been borrowed from Haskell in diluted form.
Doaitse Swierstra wrote:
I do not think you are entirely right here; a lot of things were borrowed from a language called ABC, See: http://homepages.cwi.nl/~steven/abc/
True. I wasn't claiming that most of Python itself came from Haskell; just the things I liked most about it. But you're still right - there are probably things that I liked about Python that didn't really come from Haskell - but Haskell has them, nonetheless. I wonder if ABC's layout rules were inspired by ML and/or Landin's off-side rule, or were developed independently. Regards, Yitz

Hi, I was working in embedded development, writing lots of C code. My primary tool for debugging things was turning an LED on or off. So, I became quite interested in figuring out how to write code with less bugs. After some searching, I found lclint, (now knows as splint: http://lclint.cs.virginia.edu/). lclint performs static analysis on C code to find things like uninitialized variables, memory leaks, and tons of other stuff. In order to get the most out of it, I had to annotate my code like this: extern char *gname; extern /*@truenull@*/ isNull (/*@null@*/char *x); void setName(/*@null@*/ char *pname) { if (!isNull (pname)) { gname = pname; } } Although marking up the code was a bit tedious, the amount of errors that it caught was astounding. And, typically, my code actually worked on the first try after I fixed anything lclint complained about. I decided that this thing static error analysis stuff was pretty spiffy and set out to look for a language that had it built-in by default. I originally started with Concurrent Clean 1.x, but eventually settled on Haskell (GHC 5.04) for reasons I do not remember. I think it may have been because Haskell seemed to have a bigger, more active community (which is still true today). j.

On 1/28/07, Alexy Khrabrov
How do people stumble on Haskell? I've taught ML at UPenn, and many
For some diversity ... For years I'd been using (and largely happy with) pure fortran with a little tcl thrown in for scripting. I'd played around with a few other languages for kicks (Java, Lisp, c++), but never really found anything to pull me away from fortran for good: it's easy, insanely portable, and code I wrote in 1988 still works without modification. About 2 years ago I ran into a stability problem while taking numeric derivatives. In a moment of inspired procrastination, instead of properly fixing the problem I decided that I needed 'automatic differentiation'. Google. A series of fantastic papers by Jerzy Karczmarczuk. Wow. Google. GHC. Can't get it installed on my mac laptop. Stop. Months pass. (probably more like a year) In a later moment of procrastination, I find John Hughes' "Why functional programming matters". After seeing Romberg integration implemented in a handful of lines, I was hooked. But the real kicker was the performance of GHC -- after getting it installed I benchmarked the Hughes's code against a Fortran integrator. I don't remember the exact numbers, but the execution times were within a factor of a few of each other (I was expecting 2-3 orders of magnitude). While I'm not yet entirely sold on the practicality of the language (things move very fast, and it seems to be very difficult for me to stick with haskell98), it's just too much fun to not use. I'm now using it daily in a scripting role and one-offs, and I'm seriously considering using it over fortran in a new workstation analysis code. (Actually, the 'fun' aspect of it is providing a just a *bit* of motivation ...) Cheers, -david k.

I find it odd when people talk about portability in languages. Form me that
has always been a given (I started my first language, c++ in 2002).
I got into Haskell and FP in general when I took advanced languages at my
uni and I still write haskell java and c++ regularly.
On 1/29/07, David Kirkman
On 1/28/07, Alexy Khrabrov
wrote: How do people stumble on Haskell? I've taught ML at UPenn, and many
For some diversity ...
For years I'd been using (and largely happy with) pure fortran with a little tcl thrown in for scripting. I'd played around with a few other languages for kicks (Java, Lisp, c++), but never really found anything to pull me away from fortran for good: it's easy, insanely portable, and code I wrote in 1988 still works without modification.
About 2 years ago I ran into a stability problem while taking numeric derivatives. In a moment of inspired procrastination, instead of properly fixing the problem I decided that I needed 'automatic differentiation'.
Google. A series of fantastic papers by Jerzy Karczmarczuk. Wow. Google. GHC. Can't get it installed on my mac laptop. Stop.
Months pass. (probably more like a year) In a later moment of procrastination, I find John Hughes' "Why functional programming matters". After seeing Romberg integration implemented in a handful of lines, I was hooked. But the real kicker was the performance of GHC -- after getting it installed I benchmarked the Hughes's code against a Fortran integrator. I don't remember the exact numbers, but the execution times were within a factor of a few of each other (I was expecting 2-3 orders of magnitude).
While I'm not yet entirely sold on the practicality of the language (things move very fast, and it seems to be very difficult for me to stick with haskell98), it's just too much fun to not use. I'm now using it daily in a scripting role and one-offs, and I'm seriously considering using it over fortran in a new workstation analysis code. (Actually, the 'fun' aspect of it is providing a just a *bit* of motivation ...)
Cheers,
-david k. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

On 2007-01-29, Alexy Khrabrov
How do people stumble on Haskell? I've taught ML at UPenn, and many
Fascinating thread. Awhile back, I decided that, once I got familiar and comfortable with a programming language, I would learn a new one. I tend a learn a new language every 1-3 years on average. I had been a convert from Perl to Python a few years back. I got comfortable with Python and decided I want to learn a new language. I looked at a number of them. Rejected Ruby because it was too much like Python, Erlang because it didn't seem general-purpose enough, Haskell because its library seemed small at the time and the focus too academic. I eventually learned OCaml. OCaml was an interesting experience. It had some nice features. But I/O was absolutely infruriating. OCaml's default I/O system can't handle files opened read-write, for instance. It also has two distinct list-like types: one that's lazy, one that's not, and they require two distinct sets of functions to work with. The object system also is complicated. The syntax and whole idea of .ml vs. .mli file felt very dated and the build system was extremely difficult to get right. So I again searched out a language, with largely the same results for everything except Haskell. I can't remember exactly what changed my mind about Haskell. It may have been Cabal, it may have been Darcs, or something else. In any case, I decided to pick it up. I was pleasantly surprised that Haskell seemed to have all the things I liked from both Python and OCaml and none of the annoying things from either. It's been a fun experience. Haskell is the only language I've ever learned in which I have used it for something like 2 years, written numerous applications, developed several libraries, even written links to C and Python, and still consider myself a newbie. And that is a GOOD thing. -- John

What's folks most interesting ways to arrive at FP?
Mine isn't most interesting. I did some interesting (I think so) research in visualisation and coded it in C. Then I tried to extend it - speed it up, add more features, etc, - and found C unsatisfactory. It is error prone and C programs cannot be modified easily. Then I tried some macro languages, M4 and like, again without satisfaction - the same modification failures. No one can keep things tied up for me. Then I search and roam, I left my visualisation research behind programming languages field and found Haskell. It got me by syntax then by type system. I still hope I'll return to visualisation research.

On 1/28/07, Alexy Khrabrov
How do people stumble on Haskell?
My story isn't as interesting as some of these. My first quarter in school, I took a course taught in Scheme. I expressed some dissatisfaction with the lack of types (and, in particular, the collection of bugs that would have been easily caught with one), and the grad TA pointed me to ML. Some time later, I was talking to another prof. in the hall about ML, and an older guy walking by suggested that I was wasting my time and should go learn Haskell. At the time, the most obvious tutorial was the Gentle Introduction, which left me confused for about a year or so, but eventually (and I have no memory the trigger), I started writing code in Haskell and was completely hooked. (Incidentally, I eventually found out who the older guy was - Doug McIlroy - and he ended up advising my honors work. All in all, a very convenient meeting.) /g

On 1/28/07, Alexy Khrabrov
How do people stumble on Haskell?
I was thinking that my story wasn't particularly interesting, but then again, I may be the only person on this list who can actually give a properly-cited publication as an answer to the question "how did you learn Haskell?": Patricia Johann and Franklyn Turbak, Lumberjack Summer Camp: A Cross-Institutional Undergraduate Research Experience in Computer Science, Computer Science Education 11(4), Dec. 2001. - http://cs.wellesley.edu/~fturbak/pubs/cse01.pdf The shorter answer is, "I got paid to learn it," when I was an undergrad, and so I find those of you with real jobs and real lives who learn new languages in their copious free time with no particular extrinsic motivation for it to be particularly admirable. Cheers, Kirsten -- Kirsten Chevalier* chevalier@alum.wellesley.edu *Often in error, never in doubt "Relax. I'm weird, not violent."--Brad Boesen, _Disturbed_

On Jan 29, 2007, at 03:01 , Alexy Khrabrov wrote:
How do people stumble on Haskell?
Well, I didn't really stumble on it. I was at the 1987 meeting when we decided to define Haskell. But I stumbled on functional programming in the first place. I had to learn it because it was part of a course in denotational semantics. The language was SASL. And then I read David Turners paper on combinators, and I was hooked. -- Lennart

I'll go for the shortest story... I stumbled upon Simon's "Composing Financial Contracts" paper, Simon was gracious enough to spend a fair bit of time on the phone with me. The rest is history :-). Joel -- http://wagerlabs.com/

In about 93 or 94 a colleague had talked to me about this wierd language called Haskell. At the time I hadn't listened because I was sure that Eiffel was the future. Besides, he had showed me a GUI demo: a calculator that took about half a second to register a button click. So I concluded that it wasn't practical. Fast forward to about 2001. I was in a job where I almost never got to do any programming. It had become painfully obvious that Eiffel wasn't going anywhere. I could always learn Java, but after Eiffel downgrading to Java felt like a sell-out: I wasn't going to do it. But I did want to learn a new language, and I'd read Eric Raymond's piece about being a hacker, where he said to learn Lisp for the side effects. I sort-of knew Lisp anyway, having done some Emacs Lisp hacking. But I felt I didn't really get it about FP. There seemed to be a lot of buzz about Haskell, so I took the plunge and started learning. Paul.

"Paul" == Paul Johnson
writes:
Paul> because I was sure that Eiffel was the future. You were right! Paul> It had become painfully Paul> obvious that Eiffel wasn't going anywhere. Hm. Why do I make a living at it then? And why is there now an ECMA standard for it? Paul> learn Java, but after Eiffel downgrading to Java felt like a Paul> sell-out: That's true. Anyway, my story about how I stumbled across Haskell: I was visiting Glasgow for the Scottish Go championships, and was talking to John O'Donnell in the bar about what functional programming was all about. I mentioned that I knew Scheme, and he said he much preferred Haskell. So I tried to get him to describe the language to me, but he seemed more interested in playing Go. So I just had to learn it when i got home again, to find out about it. -- Colin Adams Preston Lancashire

Lennart Augustsson
On Jan 29, 2007, at 03:01 , Alexy Khrabrov wrote:
How do people stumble on Haskell?
Well, I didn't really stumble on it. I was at the 1987 meeting when we decided to define Haskell.
But I stumbled on functional programming in the first place. I had to learn it because it was part of a course in denotational semantics.
OK, if we old lags are going to give our excuses... I was a member of an undergraduate society in Cambridge called the Processor Group. I went along to a talk that Arthur Norman gave to them (must have been 1980±1?) in which he described (S, K, I) combinators and his plans for the SKI Machine (SKIM). The fact that S and K on their own gave a complete computational basis was the most exciting piece of computer science I'd encountered at that point and I just had to follow it up. So some years later I ended up at that same 1987 meeting. -- Jón Fairbairn Jon.Fairbairn@cl.cam.ac.uk

Lennart, Now you've made me curious. Which paper is this? Is it available for download anywhere? Mike Lennart Augustsson wrote:
On Jan 29, 2007, at 03:01 , Alexy Khrabrov wrote:
How do people stumble on Haskell?
Well, I didn't really stumble on it. I was at the 1987 meeting when we decided to define Haskell.
But I stumbled on functional programming in the first place. I had to learn it because it was part of a course in denotational semantics. The language was SASL. And then I read David Turners paper on combinators, and I was hooked.
-- Lennart
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

A new implementation technique for applicative languages, David A. Turner, Software — Practice and Experience, 9:31–49, 1979. I'm not sure if it's available online. -- Lennart On Feb 4, 2007, at 01:14 , Michael Vanier wrote:
Lennart,
Now you've made me curious. Which paper is this? Is it available for download anywhere?
Mike
Lennart Augustsson wrote:
How do people stumble on Haskell? Well, I didn't really stumble on it. I was at the 1987 meeting when we decided to define Haskell. But I stumbled on functional programming in the first place. I had to learn it because it was part of a course in denotational semantics. The language was SASL. And then I read David Turners
On Jan 29, 2007, at 03:01 , Alexy Khrabrov wrote: paper on combinators, and I was hooked. -- Lennart _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

On Sun, 28 Jan 2007, Alexy Khrabrov wrote:
How do people stumble on Haskell? I've taught ML at UPenn, and many of my colleagues in Amazon are in SeaFunc -- switching from C funk to func funk. I've got Hudak's book a while ago, but didn't have time/excuse to delve into it until recently. Then the most fantastic chain if events triggered it:
I read sigfpe and got interested. -- Mikael Johansson | To see the world in a grain of sand mikael@johanssons.org | And heaven in a wild flower http://www.mikael.johanssons.org | To hold infinity in the palm of your hand | And eternity for an hour

I've always found recursive solutions to problems elegant and I've always been fed up of people telling me that I should rewrite recursive solutions iteratively. (Annoying as it is, many people do that.) I complained about this on K5 and solicited some opinions from others on whether or not they would choose the recursive or iterative solutions to problems. Someone called jacob said something like "why choose when in Haskell they're the same thing?". Guilt-free recursion! That was the turning point.

Heh. I still remember in my first Comp Sci class, in C, I had to take
a 2-line recursive tree traversal...and write it iteratively (in like
50 lines).
On 2/6/07, Dan Piponi
I've always found recursive solutions to problems elegant and I've always been fed up of people telling me that I should rewrite recursive solutions iteratively. (Annoying as it is, many people do that.) I complained about this on K5 and solicited some opinions from others on whether or not they would choose the recursive or iterative solutions to problems. Someone called jacob said something like "why choose when in Haskell they're the same thing?". Guilt-free recursion! That was the turning point. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

On Tue, 6 Feb 2007, Jesse Tov wrote:
Mikael Johansson wrote:
I read sigfpe and got interested.
I read sigsegv and got interested :)
That's also a blogger writing about Haskell? Or am I missing a joke here?
Jesse
-- Mikael Johansson | To see the world in a grain of sand mikael@johanssons.org | And heaven in a wild flower http://www.mikael.johanssons.org | To hold infinity in the palm of your hand | And eternity for an hour

On 2/7/07, Mikael Johansson
On Tue, 6 Feb 2007, Jesse Tov wrote:
Mikael Johansson wrote:
I read sigfpe and got interested.
I read sigsegv and got interested :)
That's also a blogger writing about Haskell? Or am I missing a joke here?
It's a seg fault. They make c programmers light up with glee!

On 1/28/07, Alexy Khrabrov
How do people stumble on Haskell?
I came at it from two angles: General interest in actor languages led me to Io (http://www.iolanguage.com), which used Darcs for its RCS at the time, which led me to look at the source code for it, which got me interested in Haskell. General interest in lightweight concurrency led me to STM, which is a short trip. -- Paul

On Wed, 7 Feb 2007, Cale Gibbard wrote:
On 28/01/07, Alexy Khrabrov
wrote: How do people stumble on Haskell?
I got referred to Haskell by an acquaintance when I happened to mention that I was interested in algebraic approaches to music theory. He referred me to Haskore.
That's funny. All the times I've heard algebraic approaches to music theory mentioned, I have transitioned into a state of bliss. Hopefully, the next term (summer term here), we'll get a seminar on mathematics and music theory from one of the geometry researchers here. I'm excited already. -- Mikael Johansson | To see the world in a grain of sand mikael@johanssons.org | And heaven in a wild flower http://www.mikael.johanssons.org | To hold infinity in the palm of your hand | And eternity for an hour
participants (26)
-
Alexy Khrabrov
-
Andrew Wagner
-
Cale Gibbard
-
Colin Paul Adams
-
Creighton Hogg
-
Dan Mead
-
Dan Piponi
-
David Kirkman
-
Doaitse Swierstra
-
Frederick Ross
-
J. Garrett Morris
-
Jeremy Shaw
-
Jesse Tov
-
Joel Reymont
-
John Goerzen
-
Jón Fairbairn
-
Kirsten Chevalier
-
Lennart Augustsson
-
Michael T. Richter
-
Michael Vanier
-
Mikael Johansson
-
Paul Brown
-
Paul Johnson
-
Stefan O'Rear
-
szefirov@ot.ru
-
Yitzchak Gale