1-- | 2-- Module : Acme.Dont 3-- Copyright : Gracjan Polak 2009 4-- License : BSD-style 5-- Maintainer : Gracjan Polak <gracjanpolak@gmail.com> 6-- Stability : experimental 7-- Portability : portable 8-- 9-- The Acme.Dont module provides the indispensable don't command, 10-- ported from Perl. 11-- 12-- For more information see influential documentation: 13-- <http://search.cpan.org/~dconway/Acme-Don-t-1.01/t.pm> 14-- 15-- Usage: 16-- 17-- > main = don't $ do 18-- > name <- getLine 19-- > putStrLn $ "hello " ++ name 20-- 21module Acme.Dont where 22 23-- | The Acme.Dont module provides a don't command, which is the 24-- opposite of Haskell's built-in do. It is used exactly like the do 25-- monadic construct except that, instead of executing the block it 26-- controls, it... well... doesn't. 27-- 28-- Regardless of the contents of the block, don't returns (). 29-- 30don't :: (Monad m) => m a -> m () 31don't _action = return () 32