Currently, the <-
symbol is desugared as follows:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{-# LANGUAGE LambdaCase #-} | |
{-# LANGUAGE OverloadedStrings #-} | |
module Main (main) where | |
import System.IO | |
import System.Environment | |
import qualified System.Exit as Exit | |
import Text.Printf |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import Network | |
import System.IO | |
import Control.Exception | |
main = loop | |
loop :: IO a | |
loop = do | |
putStr "Enter message: " >> hFlush stdout | |
message <- getLine |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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)))))))))))))))))))))))))))))))) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- | 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) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
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
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{-# LANGUAGE LambdaCase #-} | |
-- | Teaching terrible coding practices with the help of purely functional | |
-- programming. Today: Node.hs! | |
module NodeHs where | |
import Control.Concurrent | |
import Control.Exception |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
OlderNewer