List of things you don't have to know to be producive in Haskell:
- Category theory
- Type theory
- Constructive mathematics
- Lambda calculus
| import Text.Parsec hiding ((<|>), many) | |
| import Text.Parsec.String | |
| import Text.Printf | |
| import Control.Applicative | |
| data MyType = Single Int | |
| | Tuple MyType MyType | |
| instance Show MyType where | |
| show (Single x) = show x |
| 13:15 <xQuasar> | HASKELL IS FOR FUCKIN FAGGOTS. YOU'RE ALL A BUNCH OF | |
| | FUCKIN PUSSIES | |
| 13:15 <xQuasar> | JAVASCRIPT FOR LIFE FAGS | |
| 13:16 <luite> | hello | |
| 13:16 <ChongLi> | somebody has a mental illness! | |
| 13:16 <merijn> | Wow...I suddenly see the error of my ways and feel | |
| | compelled to write Node.js! | |
| 13:16 <genisage> | hi | |
| 13:16 <luite> | you might be pleased to learn that you can compile | |
| | haskell to javascript now |
This file has moved from Gist to my Github 'articles' repository. The new version can be found here:
https://github.com/quchen/articles/blob/master/applicative_monad.md
| import Network | |
| import System.IO | |
| import Control.Exception | |
| main = loop | |
| loop :: IO a | |
| loop = do | |
| putStr "Enter message: " >> hFlush stdout | |
| message <- getLine |
| main=(s(s(k(s))(s(k(k))(s(k(s))(s(k(s(k(s))))(s(s(k(s))(s(k(k))(s(k(b))i)))(k(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(c(k))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))(s(s(k(s))(s(k(k))(s(k(s))(s(k(s(k(s))))(s(s(k(s))(s(k(k))(s(k(b))i)))(k(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(s(b)(c(k)))))))))))))))))))))))))))))))) |
| s x y z = x z (y z) | |
| k x y = x | |
| i = s k k | |
| c = s (s (k (s (k s) k)) s) (k k) | |
| b = s (k s) k | |
| hello = | |
| s(s(k s)(s(k k)(s(k s)(s(k(s(k s)))(s(s(k s)(s(k k)(s(k b)i)))(k(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s | |
| b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(c k)))))))))))))))))))))))))))))))))))))))))) | |
| )))))))))))))))))))))))))))(s(s(k s)(s(k k)(s(k s)(s(k(s(k s)))(s(s(k s)(s(k k)(s(k b)i)))(k(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s |
| -- | Store the metadata of a buffer. | |
| data BufferMeta = BufferMeta { currentSize :: Int | |
| , maxSize :: Maybe Int | |
| } | |
| -- | Like spawn', but also keeps track of metadata associated with the buffer. | |
| spawn'' :: Buffer a | |
| -> IO (Output a, Input a, STM (), STM BufferMeta) |
| electronic single tracks/adam beyer, ida engberg - lovecraft.mp3 | |
| electronic single tracks/Alberto Ruiz - Alien (Dani Sbert Remix).mp3 | |
| electronic single tracks/alex di stefano - multiverse.mp3 | |
| electronic single tracks/barnt - geffen.mp3 | |
| electronic single tracks/Bas Thomas - Second 2 None (Mike Maass Remix).mp3 | |
| electronic single tracks/black vel - assign (fabian schumann remix).mp3 | |
| electronic single tracks/boris brejcha - angel in the sky.mp3 | |
| electronic single tracks/Bunte Bummler - Youre Mine.mp3 | |
| electronic single tracks/C.P. - Metal Heart %28einsauszwei edit%29.mp3 | |
| electronic single tracks/Cari Lekebusch - Obscurus Sanctus.mp3 |