diff options
Diffstat (limited to 'Com/Simatime/Alpha.hs')
-rw-r--r-- | Com/Simatime/Alpha.hs | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/Com/Simatime/Alpha.hs b/Com/Simatime/Alpha.hs deleted file mode 100644 index 7003cc5..0000000 --- a/Com/Simatime/Alpha.hs +++ /dev/null @@ -1,83 +0,0 @@ -{-# LANGUAGE NoImplicitPrelude #-} --- | Commonly useful functions, a Prelude replacement. -module Com.Simatime.Alpha - ( - -- * Re-export Protolude - module X - -- * Applying - , (<|) - , (|>) - -- * Mapping - , (/>) - , (</) - , (<//) - -- * Text - , chomp - , lchomp - , joinWith - -- * Debugging tools - , say - -- * TODO: remove this - , Prelude.read - ) -where - -import Data.Function ( (&) ) -import Data.Functor ( (<&>) ) -import Data.String -import Data.Text ( Text ) -import qualified Data.Text as Text -import qualified Data.Text.Lazy as LazyText -import qualified Prelude -import Protolude as X - --- | Debugging printf -say :: Text -> IO () -say msg = putStrLn msg - --- $operators --- --- Operators have a pattern to their characters --- --- `|` normal function-level applications --- `/` indicates doing something inside a functor --- `<` and `>` indicate the direction in which values flow btw functions - --- | Alias for map, fmap, <$> -(</) :: Functor f => (a -> b) -> f a -> f b -(</) = fmap - --- | Double fmap. A function on the left goes "into" two functors --- (i.e. it goes "two levels deep"), applies the function to the inner --- values, then returns the result wrapped in the two functors. -(<//) :: (Functor f0, Functor f1) => (a -> b) -> f0 (f1 a) -> f0 (f1 b) -(<//) = fmap . fmap - --- | Normal function application. Do the right side, then pass the --- return value to the function on the left side. -(<|) :: (a -> b) -> a -> b -(<|) = ($) -infixr 0 <| - --- | Reverse function application. Do the left side, then pass the --- return value to the function on the right side. -(|>) :: a -> (a -> b) -> b -(|>) = (&) - --- | Alias for <&>. Can be read as "and then". Basically does into a --- functor, does some computation, then returns the same kind of --- functor. Could also be defined as `f >>= return . g` -(/>) :: Functor f => f a -> (a -> b) -> f b -(/>) = (<&>) - --- | Removes newlines from text. -chomp :: Text -> Text -chomp = Text.filter (/= '\n') - --- | Removes newlines from lazy text. -lchomp :: LazyText.Text -> LazyText.Text -lchomp = LazyText.filter (/= '\n') - --- | Join a list of things with a separator. -joinWith :: [a] -> [[a]] -> [a] -joinWith = intercalate |