Paul Hudak, Co-creator of Haskell, Has Died 138
Esther Schindler writes: Yale is reporting that Paul Hudak, professor of computer science and master of Saybrook College, died last night after a long battle with leukemia. He was known as one of the principal designers of Haskell, which you probably don't need to be told he defined as "a purely functional programming language."
Re: (Score:3)
But you have to, since output has been demanded.
Re: (Score:1)
Isn't amazing how dumb slashdot has got these days -- I make a joke about lazy evaluation (ok, maybe not a funny joke, but a joke none the less), and some moron mods it "offtopic".
Offtopic? Don't they even have a clue about what Haskell is?
Overrated I could understand, troll or flamebait if you think I'm dissing Hudak, but offtopic?
Re: (Score:2)
Just sayin'. Not that the original mistake isn't utterly retarded.
I remember him From Usenet as quite a gentleman (Score:4, Informative)
I posted on one of the Usenet groups (probably sci.lang.functional or sci.lang.haskell) about his book The Haskell School of Expression. It's been awhile, but I vaguely remember posting about a mistake or typo, and he replied right there on Usenet acknowledging the error. He was generally very generous and helpful on the newsgroup.
Re: (Score:2)
I posted on one of the Usenet groups (probably sci.lang.functional or sci.lang.haskell) about his book The Haskell School of Expression. It's been awhile, but I vaguely remember posting about a mistake or typo, and he replied right there on Usenet acknowledging the error. He was generally very generous and helpful on the newsgroup.
A great "eulogy" (sorry for the Greek, i don't know the English word for when you say something nice about a deceased - the Greek is translated as "eu [nice] - logos [word]") - never really tried to understand Haskell, but that "eulogy" was a great expression of what is missing from many current projects/groups.
Re: (Score:2)
The English word for eulogy is eulogy.
You have a nice word? English will rip it out of your hands.
Re: (Score:2)
The English word for eulogy is eulogy.
BUT IT"S GREEK: "eu [nice] - logos [word]".
You have a nice word?
Well, being Greeks, yea, we may have some!
English will rip it out of your hands.
What? But it's not yours, it's ours. O.K., keep it, it makes barbaric (excuse me, i meant English...) easier for us.
Re: (Score:2)
That's not polite.
Re: (Score:2)
That's not polite.
We Greeks were minding our own business (you know, making up the greatest words in the world), when suddenly... English and its gang (Latin, German. Slavic, etc) comes and steals from us one more word - well, excuse me if i am not so polite, i will try harder!
Re: (Score:3)
I thought I was making a joke in Greek, since polites is the antonym of barbaros. Did I do it wrong?
Re: (Score:3, Informative)
I thought I was making a joke in Greek, since polites is the antonym of barbaros. Did I do it wrong?
No, you did it (almost*) right - i had to go with my first version, since your "pseudonym" (!) was a hint for me that you may understand it... but i was afraid that too much of the (in)famous Greek pride from a new Slashdot member like me (and some lack of Greek language understanding and Greek humor appreciation from the "barbarus" /. crowd) will send my (/.) "karma" back to "terrible" (from which i just recovered!)...
* "politis (singular) - polites (plural)" (meaning: 1. (Greek) citizen) is not a direct
Re: (Score:2)
Thank you. That was great. I don't have any mod points, but this was the most offtopic thread I've seen in a while. I'm still laughing a bit.
Re: (Score:1)
I logged in for the first time in weeks to post this: Thank you. That was great. I don't have any mod points, but this was the most offtopic thread I've seen in a while. I'm still laughing a bit.
You are welcome my dear barbarus, and since in Greece we say "Greek is not a nationality, it is a profession"... i thank you for appreciating my professional skills!
Re: (Score:2)
Thank you! I'm relieved that you got it without me having to explain it.
And it looks like some of hoi polloi(or should that be hoi barbaroi?) appreciated it too.
Re: (Score:1)
Thank you! I'm relieved that you got it without me having to explain it.
Yes, i got it... it was good! But it was better to not continued from where you left it with my first version (the unpublished, self-censored), because it was going to be veeeryyy un-polite (!), in an "Aristophanic" way my fellow Slashdoter!
And it looks like some of hoi polloi(or should that be hoi barbaroi?) appreciated it too.
Hmmm... yes, i must have a little more confidence to my fellow Slashdoters, especially since it appears that some of them could be(come) fellow... Greeks!
Often (but not always) hoi polloi (even among only Greeks) end up to become barbaroi - i am glad that among (linguis
Re: (Score:2)
English will rip it out of your hands.
What? But it's not yours, it's ours. O.K., keep it, it makes barbaric (excuse me, i meant English...) easier for us.
James Nicoll put it best:
The problem with defending the purity of the English language is that English is about as pure as a cribhouse whore. We don't just borrow words; on occasion, English has pursued other languages down alleyways to beat them unconscious and rifle their pockets for new vocabulary.
Re: (Score:1)
English will rip it out of your hands.
What? But it's not yours, it's ours. O.K., keep it, it makes barbaric (excuse me, i meant English...) easier for us.
James Nicoll put it best:
The problem with defending the purity of the English language is that English is about as pure as a cribhouse whore. We don't just borrow words; on occasion, English has pursued other languages down alleyways to beat them unconscious and rifle their pockets for new vocabulary.
Indeed, a great description of the "crime" from an native English speaker (and a writer/reviewer... i just researched about his work) - i will keep this quotation as a reference!
Now we finally know: Paul Hudak was born. (Score:5, Funny)
Re: (Score:3)
Re:Now we finally know: Paul Hudak was born. (Score:4, Funny)
(lazy moderation, funny)
Re: (Score:3)
An s-expression, really?
The man co-authored Haskell, not LISP!
Re: (Score:1)
As opposed to non-functional? (Score:2, Funny)
Why would someone develop a language that didn't work?
Re: (Score:3)
You mean like J-Script and C#?
Re: (Score:1)
That was a good attempt at a joke if it weren't for the fact that using C# doesn't really make sense given that it's the most well designed OO language in heavy use today. C# is kind of the antithesis of a broken language in a world plagued by Javascript and PHP.
Re: (Score:1)
May be thats why it's design is so cool. Its a cool language.
I don't think you'd like Perl. It requires that all the punctuation be in the right place.
He died ... (Score:2)
pandoc (Score:4, Informative)
Miranda anyone? (Score:2)
I was taught Miranda (precursor to Haskell) some twenty years ago in my undergraduate degree. To this day I use still functional programming (Haskell) to prototype any reasonably complex algorithm.
To give you an idea of how compact functional programming languages can express complex algorithms - here's quicksort:
qsort (x:xs) = qsort (filter ( x) xs)
Couple high level functions with closure gives us a very powerful tool to express complex algorithms.
Re: Miranda anyone? (Score:1)
Re: (Score:1)
I’m sorry, that was horrible. Let me try again.
The QuickSort code published by the commenter to whom I replied was incomplete. Here is the correct code: http://lpaste.net/131815 [lpaste.net]. Here is also an alternative implementation that performs better, since it does not do two list traversals per sorting operation: http://lpaste.net/131814 [lpaste.net]. Note: The problem with the code in the original comment that I was replying to is due to the way that Slashdot parsed it.
Re: (Score:2)
Re: (Score:2)
What are you talking about? Steven Wozniak built the first Apple computer.
YHBT. [catb.org]
Re: (Score:3, Informative)
You're either trolling or you've missed out on one of the hottest languages since Lisp.
Re: (Score:3)
That he knows about incredibly common, often-used languages? Have fun coding in Lisp with the five other people that use it.
I suspect there's only four of us :-)
Re: (Score:2)
Do you count scheme and clojure? If so, that's nine or so...
Re: (Score:2)
I count emacs-lisp, so that's at least a thousand more people who have each written two lines in the last ten years.
Re: (Score:2)
Five, I forgot to fill out the survey last year, sorry.
Re: (Score:2)
There's actually only one LISP programmer, but he used (rplacd x x) to make it look like there's a lot more of them.
Re: (Score:2)
It's no worse than putting an elephant near[sic] the same category as a crocodile.
I for one wouldn't try to fuck either.
Re: (Score:1)
Re: (Score:2)
"So I agree with you, there is no reason for your opening post to be thought of as a troll."
Actually yes there is.
You see we have this thing called the internet and the internet has services one is called Google and another is called Wikipedia.
You see something you do not know about you have too options.
1. Look it up and find out what it is.
or
2. Dismiss it because it is outside your area of knowledge.
By dismissing it you are being a jerk. This is Slashdot so a cool programing language is still a cool progra
Re: (Score:1)
Re: (Score:3, Insightful)
It's not that niche. For those of us who are programmers I'm sure the majority haven't used it. But I'm sure most HAVE at least heard of it!
I know I heard of it in college although it was only a passing reference. I can't say where I have heard of it since until yesterday but I know it gets mentioned often enough not to forget it. As for yesterday.. I keep hearing people tell me I should check out this tiling window manager, xmonad. http://xmonad.org/ Guess what, it's not only written in Haskell, it is c
Re: (Score:1)
It's not that niche. For those of us who are programmers I'm sure the majority haven't used it. But I'm sure most HAVE at least heard of it!
I think you're significantly overestimating the average slashdotter. Sure, if you went through school and spent much time getting a comp sci degree or the like, you should have been exposed. But outside of that group (which may be your entire world but it's hardly representative of the rest of the world), the chances of people hearing about it are far more slim.
Re: (Score:2)
Or underestimating the decline of Slashdot?
Re: (Score:1)
Re: (Score:1)
Re: (Score:1, Troll)
Re: (Score:1)
Re: (Score:2)
But this is slashdot. The intended audience is chock full of people who should know what it is. I'm not saying most slashdotters who are programming nerds have used it, but they should have heard of it.
I'm disappointed to see though that Haskell is pretty high in mentions on programming.reddit.com and low for Slashdot. Maybe Slashdot should turn in its nerd card for renewal
(langpop.com is interesting for things like this too)
Re: (Score:2)
"After all, this website is full of people who have no reason to have known about an obscure niche language, regardless of it's significance and importance."
This is Slashdot and not CNN or People magazine online. This is News for Nerds.
"I'd say it's more troll like to judge people for not knowing about a language that is, at best, obscure and not well known outside of academia and research."
Ahh... You see that is where you are missing it.
Lots of people don't know about Haskell and that is fine.
I judged peop
Re: (Score:2)
Re: (Score:2)
Sigh... You really need to go back to your Logic class...
A false dilemma fallacy requires that the choices be limited. I did not say that those were the only two options. You have many good and bad options to the dilemma. What I was showing was simply that a much better option was available and that they the one being defended was not a good option.
Yes there are worse options but the one your are defending is very far from a good one.
Re: (Score:1)
Re: (Score:2)
I think the problem is the disctinction between computer science as a science, and programming as a 9 to 5 job that you can get merely by reading a book and paying for a certificate.
Re: (Score:3)
You've more or less described almost every functional programming language. And many of them, quite old, are gaining in popularity well past their introduction, in no small part because functional programming turns out to be well suited for parallel computing (and therefore to distributed computing and multiple processor cores). It should not be surprising to hear more about languages like Erlang (1986) and Haskell (1990), or to see new functional languages introduced going forward.
Re: (Score:2)
Re: (Score:2)
What?
Are you are claiming that a professional programmer can be ignorant of FP and actor-model?
Or is reading PHP for moron sufficiently professional enough for you?
Re: (Score:2)
"I'm sorry, but this is the first time I ever hear about Haskell. There's just too many fringe projects, languages, frameworks, widgets and services out there, you can't know about them all."
Yeah, it is not as this were Slashdot and if Haskell was like 25 years old and considered as "THE" pure functional programming language, you, Mr Troll.
Re: (Score:2)
"Haskell has some ardent followers but is not widely known."
Of course not. I can go to the supermarket and noone will know about it. But this is what it is: if you are a programmer you have heard about Haskell (even if you know nothing about functional programming). The grandparent is a troll.
Re: (Score:2)
COBOL is not widely known, but it's hard to find a programmer who hasn't heard of it. And Haskell seems to be more popular than COBOL (langpop.com).
Re: (Score:2)
I'm sorry, but this is the first time I ever hear about Haskell. There's just too many fringe projects, languages, frameworks, widgets and services out there, you can't know about them all.
The others bring almost nothing new to the party. Lisp, Erlang and Haskell all brought something new. Python, PHP and Rust didn't. Being functionally proficient in Lisp, Erlang and Haskell gives you skills that vastly improves your Java/C++/Whatever. Being proficient in Python and PHP gives you no new skills other than Python or PHP and perhaps some hipster cred.
Re: (Score:1)
The others bring almost nothing new to the party. Lisp, Erlang and Haskell all brought something new. Python, PHP and Rust didn't. Being functionally proficient in Lisp, Erlang and Haskell gives you skills that vastly improves your Java/C++/Whatever. Being proficient in Python and PHP gives you no new skills other than Python or PHP and perhaps some hipster cred.
I've got a 'kind of bingo card that I use to keep track of languages. I place checkmarks for each language depending on how it's different from all the other languages.
Help me out. Does Haskell require or not require a block after an "if" statement? Is the block introduced by brace, bracket, "then" or something else?
Or... does it use some completely lateral way to specify an "if" statement?
I may have to update my bingo card to accommodate.
Re: (Score:3, Informative)
It's a strictly typed, lazy, purely functional language with abstractions built around category theory. These are very hard to grasp, but once you do you can use them for things.
It's not just a different syntax.
Re:Haskell? (Score:4, Insightful)
The others bring almost nothing new to the party. Lisp, Erlang and Haskell all brought something new. Python, PHP and Rust didn't. Being functionally proficient in Lisp, Erlang and Haskell gives you skills that vastly improves your Java/C++/Whatever. Being proficient in Python and PHP gives you no new skills other than Python or PHP and perhaps some hipster cred.
I've got a 'kind of bingo card that I use to keep track of languages. I place checkmarks for each language depending on how it's different from all the other languages.
Help me out. Does Haskell require or not require a block after an "if" statement? Is the block introduced by brace, bracket, "then" or something else?
Or... does it use some completely lateral way to specify an "if" statement?
I may have to update my bingo card to accommodate.
I urge you (in the friendliest terms possible) to learn one of Lisp, Erlang or Haskell. Until you do you are going to continue assuming that the only differences between languages are purely cosmetic ones ("where does the brace go?", "how do you start a block?", etc). If you're going the Lisp route, pick a dialect of scheme.
TLDR; If the only language differences that you can imagine ever existing are cosmetic ones such as those in your post, then you have not been exposed to enough other languages.
As a quick example, using any language you know... can you /add/ to that language a feature that implements say... a switch/case statement (assuming that it didn't already exist, of course). How about an object system based on ... classes? If your language did not offer a way to define, create and instantiate objects would you be able to add the "class" keyword in? How about new operators? Every language lets you add functions, few let you add operators.
As it turns out, even though I hardly ever use those languages for anything these days, the deep possibility tree they open your eyes to gives you a more than passing mastery of concepts that all the other languages implement in an incomplete, half-assed way (looking at C++ lambdas here, btw).
Re: (Score:2)
If you're going the Lisp route, pick a dialect of Scheme.
Bah. Pick Scheme if you don't care about performance, if you want to write your own compiler, or if you enjoy using gratuitous recursive calls for no good reason.
Otherwise, pick Common Lisp. Damn fast, macros that are both more intuitive and more powerful (if a little more dangerous), and one of the greatest object oriented frameworks ever designed (CLOS.)
Re: (Score:2)
Haskell doesn't really have an "if" statement as such. It has an "if" expression (analogous to C's [expr] ? [expr] : [expr] conditional expression) but it's not widely used in my experience. Haskell folks would rather use guards and pattern matching to do the same job.
Put away the bingo card (Score:5, Interesting)
Re: (Score:1)
You cannot change variable, but then you are forced to invent all kinds of ugly hacks like "records" in Erlang that perform the same thing in an ugly way.
Re: (Score:1)
According to my copy of the Haskell report, Haskell definitely has statements. There are four kinds of them: plain expressions, pattern bindings, let bindings, and empty statements. Grammatically, they occur inside a do block.
Re: (Score:2)
I'm much closer to greybeard than hipster. So don't take this as a smug "we don't need that old crap now" post. Because I've been there and I've done that and my foundation of "that old crap" is what gives me an edge over all of these kids out there who can't program without pretty pictures.
That being sad, I've spent my share of time poking around inside functional languages. Lisp primarily, but I've touched several others. And I have to question your assertion that work in functional programming helps
Re: (Score:3)
my foundation of "that old crap" is what gives me an edge over all of these kids out there who can't program without pretty pictures.
However, I really do think that the subset of tasks where a functional approach will help is significantly smaller than you think.
While you may never use the functional approach, I find that knowledge of that functional approach is what gives me an edge ;-) It's not the functional approach that you use, it's the problem-solving ability that you gain that helps. For example, writing mini-DSL's in C++ is a damn sight faster if you're already used to the Lispish way of doing things. Writing anonymous functions in Java is a great deal easier after scheme thumped home the concept of closures (and lexical vs dynamic scoping).
Quite frankly, I find that the functional programming enthusiast crowd is a group of people who only know how to use hammers and they're trying to convince the world that every problem is a nail.
They are quite
Re: (Score:2)
Like I say, if it's a tool that you find useful to do real work where that tool is the best one to use and you're not just trying to justify using the tool on anything and everything, it's a good thing to have.
I took a couple of undergraduate symbolic logic classes, including a senior level seminar, offered by the philosophy department in my school. That was probably one of the best things I could have done considering how much boolean algebra I have to sift through in my jobs. I've mostly forgotten my Li
Re: (Score:2)
I'm much closer to greybeard than hipster.
As am I. My neckbeard is going grey.
And I have to question your assertion that work in functional programming helps your work in iterative and OO languages.
Well, it does. I know about 60 programming languages to varying levels of fluency (if that sounds like a lot, it's because I used to research programming languages, and contrary to the Pragmatic Programmers advice, I tend to learn two a year), but I do most of my work in C++ and (sadly) node.js. I can tell which languages improve my "traditional" programming and which ones don't. The ones which do are the ones which force you to think in different ways, because they are t
Re: Haskell? (Score:1)
Re: (Score:2)
Re: (Score:1)
Being functionally proficient in Lisp, Erlang and Haskell gives you skills that vastly improves your Java/C++/Whatever.
Nope it doesn't. It only increases your frustration and complaint at coding because common industry languages such as COBOL and Java are so fucked up beyond hope. Every time you write them you feel the rage to stab their creators a thousand times and send their heads off to IS.
Re: (Score:1)
I found that I can write much more efficient QBASIC code after learning & using Haskell. (^_^)
Now, if only graphics in Haskell were as easy as QBASIC. (Unless one of the million or so mutually-incompatible graphics-related packages on Hackage does everything I want but I missed it.)
Re: (Score:2)
Python, PHP and Rust didn't.
Python brought a unique mixture of functional and imperative syntax and semantics. That is a unique contribution, regardless if you liked the end result or not.
Re: (Score:2)
Python brought a unique mixture of functional and imperative syntax and semantics
Various ML dialects had that before Python. The thing Python brought was a poor performance implementation of a language from the C++ school of language design: keep adding features without regard to how they interact and expect programmers to know all of them (if they ever work with anyone else) but only use a subset if they don't want totally unmaintainable code.
Re: (Score:2)
Haskell is really far from fringe, and it's what's commonly used to teach functional programming in schools.
That said, it's terrible and I hate it.
Re: (Score:1)
I worked with a few functional programming languages when I was in school. And back when I took an intro to AI course, they were using Lisp. Not sure if they're still doing that as I took my career in an entirely different direction and that was a long time ago.
My question to you is, where is functional programming used in the real world? Sure, it's a course you can take in school. But what niches use functional programming and how extensive are they? I mean, I don't see it being useful in anything out
Re: (Score:3)
Re: (Score:2)
Re: (Score:2)
it really didn't see any use outside of academia and is now not much more than an afterthought.
Someone has to do those experimental language features that eventually filter down to the more often-used languages. Those people are generally in academia. If the academia didn't exist we'd get more carelessly-designed languages like Python and PHP.
Re: Haskell? (Score:1)
First, Pascal is not a toy. Rather it is the shining light on the hill compared to C, the Father Of Cyber War. HP MPE was written in some sort of Pascal and the customer loved it for maximum reliability. They would still buy it if HP would sell it.
Secondly, functional languages are used in many places e.g. finance or in Computer Algebra. I assume you dont know what the latter is and why it is important to our civilization. If you want to clue yourself, look it up. All of mechanical and electrical engineeri
Re: (Score:2)
I guess you haven't heard of Microsoft Windows and Apple Mac OS? They were both using Pascal as a system programming language in the beginning.
There have been Unix type systems written in Pascal and derivatives (Modula), a lot of famous software was started in Pascal.
Re: (Score:2)
What's the current state of those projects?
I did all my undergraduate work in Pascal, as did pretty much everyone else in my generation. But that was decades ago and while there was some significant work in Pascal and its derivatives at the time, it's pretty much disappeared from the landscape at this point and is not much more than a footnote in history. It's only real significance is how it influenced what is being used today.
Re: (Score:2)
If you hate it you simply haven't learned it. It is a clean, logical language with constructs that just work. It isn't an ad hoc mess of things that almost work together like most common programming languages.
Not liking it is valid but saying you hate it is a statement of ignorance.
Re: (Score:2)
I wouldn't call Haskell "fringe" by any means. Anyone with a real computer science degree since it was invented should have heard of it or something from the same family.
Re: (Score:2)
It also had these pesky side effects.