Haskell
From Uncyclopedia, the content-free encyclopedia.
Haskell is an obscure and mostly disused esoteric programming language named after the planet Haskell, a large and moving planet orbiting Aldebaran. It was developed in 1969 by Donald 'Waddler' Duck.
“Haskell is compiled from .hs-files which means HOMO SEXUAL”
~ Oscar Wilde on Haskell
Contents |
[edit] Language
Haskell is a dialect of COBOL, which it superficially resembles, and an embodiment of the Zeta-Calculus. In fact, native speakers of COBOL often describe Haskell as sounding posh and affected, with a very broad unintelligible accent. It is a non-functional language and properly belongs to the computational class Zeta-complete, known to contain the TP- and M-completeness categories. Owing to the monolithic nature of Haskell programs, and the undecidability of their output, even very simple programs can run to many thousands of lines of curry sauce code. The Hello Whirled program in Haskell, for example, contains some 37,000 lines of sauce, 35% of which (36,590 lines) simply increment the instruction pointer.
The nature of the Zeta-calculus creates some interesting new design possibilities for the aspiring programmer. Evaluating any data in Haskell is an error owing to the Zeta-calculus concept of 'lazy evaluation' -- the compiler can't be bothered looking at the data at all and throws it in the bin.
This paradigm pioneers some unusual techniques. Infinite lists, for instance, are common in Haskell. In fact, all data items are treated as infinite lists of length 1. Other infinite lists may be longer. Evaluating them is still an error.
The innovative Go Notation is a syntactic sugar for the highly sophisticated mathematical construct of Gonads which are used for I/O. Gonadic I/O is practiced by very few and understood by still fewer; the Haskell expert will be adept in their handling of Gonads.
[edit] Implementation
One known Haskell compiler exists, called HAGS, the Highly Arbitrary Gronda System. The origins of this implementation have never been satisfactorily revealed, and even the derivation of the name remains shrouded in shadow. The philologists have traced Gronda to Old Norse, where it meant something very obscene, probably related to Thor's mother somehow.
Haskell has never been implemented in Haskell and the suggestion that it might be has been deemed impossible by Waddler.
[edit] Uses of Haskell
No one really knew why Haskell was used until intrepid university students looked in the sealed chamber beneath Imperial College's Department of Computing. They were astonished to see Alan Turing strapped to a magnet in a solenoid, spinning furiously. In has been theorized that Haskell's horrible Turing incompletebleness causes him to spin in his grave at roughly 4 billion hertz, generating enough power to run the entire university.
Haskell is used as a research language, where its support for codependent types has allowed advances in the field of dysfunctional programming.
[edit] Hello world in Haskell
main = putStrLn . (++ "!!") . (>> "AA") $ "Hello world !"
An excellent application of completely pointless programming in Haskell.
Here is a more useful example of Real World Haskell programming:
fix$(<$>)<$>(:)<*>((<$>((:[{- OH MY GOD IT'S A COMMENT!!! -}])<$>))(=<<)<$>(*)<$>(*2))$1
Most real world Haskell programs look like this, since the language's infinite academic prowess had to be augmented by the best parts of Perl to actually do anything useful. The Gonadic Haskell Co-compiler even modifies its lowest level assembly using the so-called "evil mangler", written in Perl, the language of Gods. This has to be enabled with the -fvia-C option, which uses GCC to optimize the code to get program run-times without the constant factor c (the speed of light) included.
[edit] Trivia
Haskell has only one control structure. Its type signature is:
pSwitch :: Functor col => (forall sf . (a -> col sf -> col (b, sf))) -> col (SF b c)-> SF (a, col c) (Event d) -> (col (SF b c) -> d -> SF a (col c)) -> SF a (col c)
As is usual in Haskell, what this does is obvious even to the uninitiated from the clear, elegant and concise type signature.
While it is possible to do IO in Haskell, this is only spoken of in whispers, and there is only one function to do IO: System.IO.Unsafe.Really.IMeanIt.reallyReallyAbsurdlyUnsafePerformIOShameOnYou.
The flagship Haskell application is Zetabot, a 200 line Zeta calculus interpreter that sits in #Haskell, much to the entertainment of several hundred dead-ended college students.


