Slashdot Mirror


Haskell 2010 Announced

paltemalte writes "Simon Marlow has posted an announcement of Haskell 2010, a new revision of the Haskell purely functional programming language. Good news for everyone interested in SMP and concurrency programming."

6 of 173 comments (clear)

  1. Re:Is it just me ? by arevos · · Score: 3, Informative

    I'm not sure what you mean by "recursive style", but the biggest commercial users of functional programming languages tend to be companies behind high-traffic websites that need to handle a lot of concurrent requests. Facebook developed their real-time chat application in Erlang, for instance, and Twitter uses Scala to handle its message queue.

  2. Re:Is it just me ? by ls671 · · Score: 3, Informative

    > I'm not sure what you mean by "recursive style",

    Look at Quicksort in Haskell :

    qsort [] = []
    qsort (x:xs) = qsort (filter (= x) xs)

    This is what I mean, no loops, recursion. I used Prolog and ML to solve logic problems and it is pretty handy. Prolog is especially suited for solving logic problems ( "logic programming" ).

    --
    Everything I write is lies, read between the lines.
  3. Re:Is it just me ? by j1m+5n0w · · Score: 3, Informative

    That's not true unless you are using a different definition of "functional" than I am. I can't comment on Scala since I haven't used it, but Erlang is indeed a functional language. It is not a _pure_ functional language, as Erlang does have some mechanisms for manipulating mutable, global state and message passing, but it's at least as functional as a lot of other language that are widely regarded as "functional programming languages" such as Lisp and ML.

  4. Re:Is it just me ? by EMG+at+MU · · Score: 5, Informative

    Amdahl's law is not like Moore's "law". Amdahl's law is an observation of mathematics. You can't ever get around the fact that if you increase the performance of 90% of the instructions in a program, you still have to deal with the other 10%. Even if you increase the performance of 90% of the instructions by 100x or something large, if the other 10% take a long time (like disk access) its going to kill your performance.

  5. Re:Is it just me ? by DragonWriter · · Score: 4, Informative

    Except neither Scala nor Erlang are functional languages ....

    Erlang and Scala are both languages designed to support programming in a functional style, and both are "recursive style" languages in that they optimize tail calls generally (Erlang) or at least in the most important case of self-recursive calls (Scala) and thus make tail-recursive (or, in Erlang's case, more general tail calling with unlimited depth) programming styles efficient.

    Neither is a pure functional programming language, true.

  6. Re:Is it just me ? by j1m+5n0w · · Score: 4, Informative

    I would add a couple other "must have" features in functional languages:

    * The ability to pass a function as an argument to another function (i.e. higher order functions, like qsort in the C standard library).

    * Support for a points-free programming style in which things can be passed from one function to another without naming them.

    Some other features that perhaps aren't technically required but make functional programming a lot easier:

    * Closures, local function definitions, garbage collection, partial evaluation of function.