diff options
Diffstat (limited to 'universe/haskell-file/f.hs')
-rw-r--r-- | universe/haskell-file/f.hs | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/universe/haskell-file/f.hs b/universe/haskell-file/f.hs deleted file mode 100644 index 295575f3f48d..000000000000 --- a/universe/haskell-file/f.hs +++ /dev/null @@ -1,64 +0,0 @@ -module F - ( join - , split - ) where - --------------------------------------------------------------------------------- --- Dependencies --------------------------------------------------------------------------------- - -import Data.List (span) -import System.FilePath (FilePath, pathSeparator) -import System.FilePath.Posix (FilePath) -import qualified System.FilePath.Posix as F - --- TODO: Move this to a misc.hs, prelude.hs, operators.hs; somewhere. -(|>) :: a -> (a -> b) -> b -(|>) a f = f a -infixl 1 |> - --- TODO: Move this to a test_utils.hs or elsewhere. -simpleAssert :: (Eq a) => a -> a -> () -simpleAssert x y = - if x == y then - () - else - error "Assertion error" - --------------------------------------------------------------------------------- --- Library --------------------------------------------------------------------------------- - -join :: [FilePath] -> FilePath -join = F.joinPath - --- | Split path and return list containing parts. -split :: FilePath -> [String] -split = splitJoin . span (/= pathSeparator) - where - splitJoin :: (String, String) -> [String] - splitJoin ([], []) = [] - splitJoin (a, []) = [a] - splitJoin (a, [_]) = [a] - splitJoin (a, _:b) = a : split b - --------------------------------------------------------------------------------- --- Tests --------------------------------------------------------------------------------- - -expected :: [([FilePath], FilePath)] -expected = [ (["path"], "path") - , (["/path"], "/path") - , (["path", "to", "file"], "path/to/file") - , (["/path", "to", "file"], "/path/to/file") - , (["/"], "/") - ] - -runTests :: [()] -runTests = - fmap (\(input, expected) -> simpleAssert (join input) expected) expected - -main :: IO () -main = do - print runTests - pure () |