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

10 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: 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 Cafe+Alpha · · Score: 3, Funny

      (lazy moderation, funny)

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

  5. 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.
  6. 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).

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

  8. 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)