plailude-0.5.1: src/Plailude/Control/IO.hs
{- |
Module : $Header$
Description : IO. dealwithit.jpeg.
Copyright : (c) plaimi 2015
License : GPL-3
Maintainer : plailude@plaimi.net
-} module Plailude.Control.IO where
import System.Posix.IO
(
stdInput,
)
import System.Posix.Terminal
(
queryTerminal,
)
infixr 9 ~+~
(~+~) :: IO a -> IO a -> IO a
-- | Query the terminal for STDIN. If there is any, do lhs -- if not, do rhs.
l ~+~ r = queryTerminal stdInput >>= \i -> if i then l else r