{-#LANGUAGE TemplateHaskell #-} -- | Python's built-in @import this@ feature, ported to Haskell. -- Usage: just import 'This' and observe the magic. -- Known issue: the magic may not happen when you expect it to. Deal with it. module This where import Language.Haskell.TH $(do runIO $ putStrLn "The Eightfold Path To Monad Satori, by Stephen Diehl" runIO $ putStrLn "" runIO $ putStrLn "1. Don't read the monad tutorials." runIO $ putStrLn "2. No really, don't read the monad tutorials." runIO $ putStrLn "3. Learn about Haskell types." runIO $ putStrLn "4. Learn what a typeclass is." runIO $ putStrLn "5. Read the Typeclassopedia." runIO $ putStrLn "6. Read the monad definitions." runIO $ putStrLn "7. Use monads in real code." runIO $ putStrLn "8. Don't write monad-analogy tutorials." return [] )