Slashdot Mirror


Erik Meijer: The Curse of the Excluded Middle

CowboyRobot (671517) writes "Erik Meijer, known for his contributions to Haskell, C#, Visual Basic, Hack, and LINQ, has an article at the ACM in which he argues that 'Mostly functional' programming does not work. 'The idea of "mostly functional programming" is unfeasible. It is impossible to make imperative programming languages safer by only partially removing implicit side effects. Leaving one kind of effect is often enough to simulate the very effect you just tried to remove. On the other hand, allowing effects to be "forgotten" in a pure language also causes mayhem in its own way. Unfortunately, there is no golden middle, and we are faced with a classic dichotomy: the curse of the excluded middle, which presents the choice of either (a) trying to tame effects using purity annotations, yet fully embracing the fact that your code is still fundamentally effectful; or (b) fully embracing purity by making all effects explicit in the type system and being pragmatic by introducing nonfunctions such as unsafePerformIO. The examples shown here are meant to convince language designers and developers to jump through the mirror and start looking more seriously at fundamentalist functional programming.'"

8 of 237 comments (clear)

  1. Well that summary leaves me wondering by Anonymous Coward · · Score: 5, Funny

    what does Bennett Haselton think about this topic?

  2. Re:Jump through the mirror? by catmistake · · Score: 5, Funny

    You can write beautiful, elegant, purely functional code, as long as it doesn't have to touch a storage system, a network, or a user. But, hey, other than that, it's great!

    Speaking as an sysadmin, sounds like Heaven.

    The other way to make code safer, of course, is to eliminate the programmers.

  3. Re:Wow by PPH · · Score: 3, Funny

    P.S. You still login to Slashdot so you're almost definitely an incompetent retard.

    Welcome to the club. Here's your hat.

    --
    Have gnu, will travel.
  4. Re:Jump through the mirror? by PPH · · Score: 3, Funny

    Speaking as a sysadmin, you should have said, "eliminate the users."

    --
    Have gnu, will travel.
  5. Re:Jump through the mirror? by fractoid · · Score: 1, Funny

    ITT: Functional language fanboys get defensive.

    --
    Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
  6. Re:Jump through the mirror? by jc42 · · Score: 4, Funny

    ... C programmers are brain damaged too.

    From the viewpoint of the general public, we can simplify it to "Programmers are brain damaged." This conclusion is often especially obvious to management, who find programmers both incomprehensible and arrogant. After all, would a truly sane person clearly tell their bosses that something can't be done the way the bosses said it is to be done? But programmers do this all the time, so they must be mentally deranged.

    --
    Those who do study history are doomed to stand helplessly by while everyone else repeats it.
  7. Re:Jump through the mirror? by ozmanjusri · · Score: 4, Funny

    Suddenly Win8, the Office ribbon, RT, and Sharepoint begin to make sense. Thanks for the epiphany.

    --
    "I've got more toys than Teruhisa Kitahara."
  8. No safer by SuperKendall · · Score: 4, Funny

    The other way to make code safer, of course, is to eliminate the programmers.

    You would think so, but as a programmer I can assure you that over time code changes itself.

    No way *I* wrote that...

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley