{-# LANGUAGE NoImplicitPrelude #-} -- | Commonly useful functions, a Prelude replacement. module Com.Simatime.Alpha ( -- * Re-export Protolude module X -- * General functions , (/@) , (/@@) -- * Debugging tools , say -- * TODO: remove this , Prelude.read ) where import Data.Text ( Text ) import qualified Prelude import Protolude as X import Data.String -- | Debugging printf say :: Text -> IO () say msg = putStrLn msg -- | Alias for map, fmap, <$>. Inspired by Mathematica. (/@) :: Functor f => (a -> b) -> f a -> f b (/@) = fmap -- | Double fmap. -- (/@@) :: (Functor f1, Functor f2) => f1 (a -> b) -> f1 (f2 a) -> f1 (f2 b) (/@@) :: (Functor f0, Functor f1) => (a -> b) -> f0 (f1 a) -> f0 (f1 b) (/@@) = fmap . fmap