Slashdot Mirror


Paul Hudak, Co-creator of Haskell, Has Died

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."

25 of 138 comments (clear)

  1. Re:Haskell? by Anonymous Coward · · Score: 3, Informative

    You're either trolling or you've missed out on one of the hottest languages since Lisp.

  2. I remember him From Usenet as quite a gentleman by shoor · · 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.

    --
    In theory, theory and practice are the same; in practice they're different. (Yogi Berra & A. Einstein)
    1. Re:I remember him From Usenet as quite a gentleman by antiperimetaparalogo · · 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.

      --
      Antisthenes: "Wisdom begins by examining the words/names." - excuse my English, i am (slightly...) better with my Greek!
    2. Re:I remember him From Usenet as quite a gentleman by Eunuchswear · · Score: 2

      The English word for eulogy is eulogy.

      You have a nice word? English will rip it out of your hands.

      --
      Watch this Heartland Institute video
    3. Re:I remember him From Usenet as quite a gentleman by antiperimetaparalogo · · 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.

      --
      Antisthenes: "Wisdom begins by examining the words/names." - excuse my English, i am (slightly...) better with my Greek!
    4. Re:I remember him From Usenet as quite a gentleman by antiperimetaparalogo · · Score: 2

      O.K., keep it, it makes barbaric (excuse me, i meant English...) easier for us.

      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!

      --
      Antisthenes: "Wisdom begins by examining the words/names." - excuse my English, i am (slightly...) better with my Greek!
    5. Re:I remember him From Usenet as quite a gentleman by Pseudonym · · Score: 2

      I thought I was making a joke in Greek, since polites is the antonym of barbaros. Did I do it wrong?

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
    6. Re:I remember him From Usenet as quite a gentleman by antiperimetaparalogo · · 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 antonym of "barbaros (singular) - barbari/oi/(us/ous) (plural)" (meaning: 1. -mainly- someone speaking non-Greek; 2. -as a consequence of 1- a non-citizen/Greek/politi; 3. -what is understood by most barbarous- an uncivilized person, i.e.,.... a non-Greek!)

      --
      Antisthenes: "Wisdom begins by examining the words/names." - excuse my English, i am (slightly...) better with my Greek!
  3. Now we finally know: Paul Hudak was born. by netsavior · · Score: 5, Funny

    (lazy evaluation)

    1. Re:Now we finally know: Paul Hudak was born. by abulafia · · Score: 2

      Damn, wish I hadn't used my mod points.

      --
      I forget what 8 was for.
    2. Re:Now we finally know: Paul Hudak was born. by Cafe+Alpha · · Score: 3, Funny

      (lazy moderation, funny)

    3. Re:Now we finally know: Paul Hudak was born. by ChunderDownunder · · Score: 2

      An s-expression, really?

      The man co-authored Haskell, not LISP!

  4. As opposed to non-functional? by Anonymous Coward · · Score: 2, Funny

    Why would someone develop a language that didn't work?

    1. Re:As opposed to non-functional? by pecosdave · · Score: 2

      You mean like J-Script and C#?

      --
      The preceding post was not a Slashvertisement.
  5. Re:Haskell? by Anonymous Coward · · 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.

  6. Re:Haskell? by goose-incarnated · · Score: 3, 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).

    --
    I'm a minority race. Save your vitriol for white people.
  7. Re:Haskell? by tuffy · · 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.

    --

    Ita erat quando hic adveni.

  8. Re:Haskell? by goose-incarnated · · Score: 2

    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 an annoying bunch, aren't they? I long ago stopped reading/posting to comp.lang.lisp purely because of the hostile and aggressive nature of that community. The NIH syndrome is especially strong with the lisp programmers - there's a reason that Lisp hasn't taken over the world even though it has all the language functionality present in almost every language that came after it (including Javascript, Java, C++, C#, Python, etc).

    --
    I'm a minority race. Save your vitriol for white people.
  9. pandoc by John+Bokma · · Score: 3, Informative

    For those who never heard of Haskell and are looking for an example project written using this language check out Pandoc: http://pandoc.org/. Other examples are Darcs (version control) and xmonad (tiling window manager).

  10. Re:Haskell? by goose-incarnated · · Score: 2

    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 :-)

    --
    I'm a minority race. Save your vitriol for white people.
  11. Re:Haskell? by John+Bokma · · Score: 2

    Facebook, Google, Microsoft, Intel, see: Haskell in industry: https://wiki.haskell.org/Haske... I don't know when you were in school, but if it was in the 90s (like me); the FP landscape has changed quite a bit since then. I did the edX course FP101x Introduction to Functional Programming (98%), which I can highly recommend to get a feel for Haskell.

  12. Re:Haskell? by Anonymous Coward · · 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 configured in Haskell! So.. I guess anyone who uses xmonad and changes anything about the configuration has at least a tiny little exposure to Haskell.

    Further.. Who cares if it is obscure? This is Slashdot! Everything here is obscure to the majority of the population. We all have some obscure interests or we wouldn't be here! We don't all share the exact same obscure interests though. I know I never click on the majority of the articles here although I do read several per day. If he doesn't know what Haskel is then why even bother clicking? Why bother commenting that you aren't interested in an article? Because you are interested in every other article and this one is uniquely dull to you? BS! The only reason to make that kind of comment is b/c you know that programming languages like operating systems and text editors have rabid fanbois who will get all hot and bothered and post back. Obscure ones are best because they already feel cornered and will be extra defensive.

    Yup... textbook troll!

  13. Put away the bingo card by dwheeler · · Score: 4, Interesting

    Put away the bingo card. Some languages, like Lisp and Haskell, actually DO bring seriously different ideas to the table, and there are tasks where their ideas are useful. A few examples may help. Once a "variable" is set, you cannot change its value (though it CAN go out of scope). This has serious reasoning and optimization advantages, but it requires a different way of thinking. Haskell has lazy evaluation, i.e., it computes nothing until you ask for it. It's routine to define infinitely-large data structures, which is a non-problem because only the parts you need are calculated. If you're only familiar with the ALGOL language family (C, C++, Objective-C, Java, C#, PHP, Python, etc.), you'll need to do some real learning.

    --
    - David A. Wheeler (see my Secure Programming HOWTO)
  14. Re:with lazy evaluation by Pseudonym · · Score: 2

    But you have to, since output has been demanded.

    --
    sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
  15. Re:Haskell? by omfgnosis · · Score: 2

    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.