Haskell

From Encyclopedia Dramatica
Jump to: navigation, search
Hail to the king, baby.


Haskell is a functional committee-planned programming language that wants everything done its way and no one else's. Although it claims to play well with others, this is a complete lie, and it never leaves its mother's basement. Haskell's codebase is fucking huge, weighing in at almost a gigabyte for the main compiler and other essential utilities.

Haskell is similar to Firefox in that there are thousands of extensions that can be enabled, that way Haskell can be turned into Python in case the user is uncomfortable with functional programming. Also like Firefox, Haskell is a language that everyone talks about, but no one uses.

The Early Years[edit]

Many years ago, a group of researchers decided that out of the 200 different functional programming languages that were available at the time, all of them sucked equally. However, Miranda, the cream of the crap, had the largest ass and was chosen to become the base from which Haskell would be born.

Simon Peyton Jones and his merry band of mathematicians, hereto-after referred to as "the gang," went to work on what they figured would become the best programming language ever...

The Gang. Notice Simon Peyton Jones in his signature yellow jacket and scooter. (Far Right)

The IO Question[edit]

Once the gang finished planning their language, they realized they had created something that had no I/O. In other words, when a Haskell program ran, the box heated up, but nothing happened. Realizing their ghastly mistake, the gang tried various kinds of methods in order to address the issue. They experiemented with Xylatol, Mixadolin V, Quothenol D, and Bayer Children's Heroin. Finally, after a 17-hour long trip on Ritalin, the gang pulled an obscure concept out of Category Theory, known only as the "Monad."

Monads became the final solution to the IO problem, and confused programmers the world over.

What the Fuck is a Monad?[edit]

A Monad is kind of like a box (only it's not), in which data may be "placed" inside of it (only it's not). A Monad is a lot like a Chinese finger trap; once you get your dick caught in it, there's no getting it out. In other words, Monads are a prison for data. Monads are the sole reason people have a hard time understanding Haskell. In fact, the concept of Monads is so scary that the fact that they are scary is scary in and of itself, disabling people from even attempting to understand Monads.

Artist's depiction of a Monad.

Prison Break[edit]

Although no one talks about it, there is a super 1337 backdoor into the monad prison system (as far as IO goes, anyway).


Prelude> import System.IO.Unsafe

Prelude> :t getLine

-- Uh oh, evil IO has taken our data prisoner!

getLine :: IO a

Prelude> x = unsafePerformIO getLine

Prelude> :t x

x :: a

-- Congrats, assface!


The Now Years[edit]

Today, Haskell remains the single most talked about language that no one uses. Many have tried to use Haskell, but are unable to comprehend the dizzingly abstract concept of a Monad. Even the word, "Monad," scares the hell out of most programmers. Entire books have been written just about Monads. However, most of them are very cryptic, and their authors probably don't even know what a monad is.

So, instead of doing anything constructive with the language, most people just write about the language like the dumb pricks they are, while the gang continues to make more language extensions that no one will use.

Code Snippets[edit]

Hello World[edit]

module Main where

main = putStrLn "Wello Horld!"

Get 'er Done[edit]


module Main where

class Fuckable a where
  fuck :: a -> Maybe a

data Dog = Dog String Bool

instance Fuckable Dog where
  fuck (Dog name fucked) = if fucked 
    then Nothing 
    else Just (Dog ("Fucked " ++ name) True)

screwThePooch :: Dog -> Maybe Dog
screwThePooch = fuck

main = do
  let myDog = Dog "Jackson" False
  return $ screwThePooch myDog

Hack the Gibson[edit]

module Main where

import System.Gibson
import System.Gibson.SecretCodes

hack = hackTheGibson secretCode1

main = return hack

Notable Works[edit]

The only person in the world, other than SPJ, that knows what a Monad is.

Below is a list of notable works written in Haskell.

External Links[edit]

Matrix.gif

Haskell is part of a series on Programming.

[2 L337 4 MEEnter the Matrix]

Softwarez series.jpg

Haskell is part of a series on

Softwarez

Visit the Softwarez Portal for complete coverage.