- Portals
- The Current Year
- ED in the News
- Admins
- Help ED Rebuild
- Archive
- ED Bookmarklet
- Donate Bitcoin
Contact an admin on Discord or EDF if you want an account. Also fuck bots.
User:Goddamnitall/Haskell: Difference between revisions
imported>Goddamnitall No edit summary |
imported>Goddamnitall No edit summary |
(2 intermediate revisions by the same user not shown) | |
(No difference)
|
Latest revision as of 20:28, 23 March 2014
Goddamnitall/Haskell is part of a series on Programming. [Enter the Matrix] | |
ADA • Assembly • C • C++ • COBOL • Debug • DOS • Erlang • Error • Fdisk • Fortran • Integer • Java • LOLCode • Machine Code • Matlab • MIRC Script • MUMPS • Open Source • Perl • PHP • Programming language • Python • QBASIC • Ruby on Rails • Scratch • SSH • Visual Basic
Firefox XPS IRC Attack • Safari XPS Attack • Sandworm
Bill Gates • Linus Torvalds • Weev • Goatse Security • Terry Davis • Theo de Raadt
Operating system • Warez • Notepad • Is not a bug, it's a feature • Database Error |
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
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 IO Question
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?
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.
Prison Break
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
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
Hello World
module Main where main = putStrLn "Wello Horld!"
Get 'er Done
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
module Main where import System.Gibson import System.Gibson.SecretCodes hack = hackTheGibson secretCode1 main = return hack
Notable Works
Below is a list of notable works written in Haskell.
- The Gibson
- Haskell - Yes, it is written in itself.
- PornHub
- Windows 95
- HackWare V3.4 Xcelsior Edition
- Dat Ass
- Learn You a Haskell for Great Good
External Links
- Haskell.org - Stop being a bitch and use it.
- LearnYouAHaskell.com - Stop being a bitch and learn it.
Goddamnitall/Haskell is part of a series on Visit the Softwarez Portal for complete coverage. |