-- |
-- Module      : Acme.Dont
-- Copyright   : Gracjan Polak 2009
-- License     : BSD3
-- Maintainer  : Jack Kelly <jack@jackkelly.name>
-- Stability   : stable
-- Portability : portable
--
-- Provides the indispensable don't command, ported from Perl. It is
-- used exactly like the do monadic construct except that, instead of
-- executing the block it controls, it... well... doesn't.
--
-- * For more information see influential documentation:
-- <http://search.cpan.org/~dconway/Acme-Don-t-1.01/t.pm>
--
-- Usage:
--
-- > main = don't $ do
-- >     name <- getLine
-- >     putStrLn $ "hello " ++ name
module Acme.Dont (don't) where

-- | Do not execute the argument.
don't :: Applicative f => f a -> f ()
don't :: f a -> f ()
don't _ = () -> f ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ()