about summary refs log tree commit diff
path: root/haskell-file
diff options
context:
space:
mode:
Diffstat (limited to 'haskell-file')
-rw-r--r--haskell-file/f-todo.org67
-rw-r--r--haskell-file/f.hs64
-rw-r--r--haskell-file/shell.nix9
-rw-r--r--haskell-file/tests.hs39
4 files changed, 0 insertions, 179 deletions
diff --git a/haskell-file/f-todo.org b/haskell-file/f-todo.org
deleted file mode 100644
index 6dd43a96291f..000000000000
--- a/haskell-file/f-todo.org
+++ /dev/null
@@ -1,67 +0,0 @@
-* Paths
-** TODO f-join (&rest args)
-** TODO f-split (path)
-** TODO f-expand (path &optional dir)
-** TODO f-filename (path)
-** TODO f-dirname (path)
-** TODO f-common-parent (paths)
-** TODO f-ext (path)
-** TODO f-no-ext (path)
-** TODO f-swap-ext (path ext)
-** TODO f-base (path)
-** TODO f-relative (path &optional dir)
-** TODO f-short (path)
-** TODO f-long (path)
-** TODO f-canonical (path)
-** TODO f-slash (path)
-** TODO f-full (path)
-** TODO f-uniquify (paths)
-** TODO f-uniquify-alist (paths)
-* I/O
-** TODO f-read-bytes (path)
-** TODO f-write-bytes (data path)
-** TODO f-read-text (path &optional coding)
-** TODO f-write-text(text coding path)
-** TODO f-append-text(text coding path)
-** TODO f-append-bytes(text coding path)
-** TODO Destructive
-** TODO f-mkdir (&rest dirs)
-** TODO f-delete (path &optional force)
-** TODO f-symlink (source path)
-** TODO f-move (from to)
-** TODO f-copy (from to)
-** TODO f-copy-contenst (from to)
-** TODO f-touch (path)
-** TODO Predicates
-** TODO f-exists? (path)
-** TODO f-directory? (path)
-** TODO f-file? (path)
-** TODO f-symlink? (path)
-** TODO f-readable? (path)
-** TODO f-writable? (path)
-** TODO f-executable? (path)
-** TODO f-absolute? (path)
-** TODO f-relative? (path)
-** TODO f-root? (path)
-** TODO f-ext? (path ext)
-** TODO f-same? (path-a path-b)
-** TODO f-parent-of? (path-a path-b)
-** TODO f-child-of? (path-a path-b)
-** TODO f-ancestor-of? (path-a path-b)
-** TODO f-descendant-of? (path-a path-b)
-** TODO f-hidden? (path)
-** TODO f-empty? (path)
-** TODO Stats
-** TODO f-size (path)
-** f-depth (path)
-
-* Misc
-** TODO f-this-file ()
-** TODO f-path-separator ()
-** TODO f-glob (pattern &optional path)
-** TODO f-entries (path &optional fn recursive)
-** TODO f-directories (path &optional fn recursive)
-** TODO f-files (path &optional fn recursive)
-** TODO f-root ()
-** TODO f-traverse-upwards (fn &optional path)
-** TODO f-with-sandbox (path-or-paths &rest body)
diff --git a/haskell-file/f.hs b/haskell-file/f.hs
deleted file mode 100644
index 295575f3f48d..000000000000
--- a/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 ()
diff --git a/haskell-file/shell.nix b/haskell-file/shell.nix
deleted file mode 100644
index f2621d6eac5a..000000000000
--- a/haskell-file/shell.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-with import <nixpkgs> {};
-
-stdenv.mkDerivation {
-  name = "f-hs";
-  buildInputs = [
-    (pkgs.haskellPackages.ghcWithPackages (pkgs: [
-    ]))
-  ];
-}
diff --git a/haskell-file/tests.hs b/haskell-file/tests.hs
deleted file mode 100644
index e3967b77de1f..000000000000
--- a/haskell-file/tests.hs
+++ /dev/null
@@ -1,39 +0,0 @@
-module FTest where
---------------------------------------------------------------------------------
-import Test.Tasty
-import Test.Tasty.Hedgehog
-import Hedgehog
---------------------------------------------------------------------------------
-import qualified Hedgehog as H
-import qualified Hedgehog.Gen as Gen
-import qualified Hedgehog.Range as Range
---------------------------------------------------------------------------------
-import Data.List (intercalate)
-import System.FilePath (pathSeparator)
---------------------------------------------------------------------------------
-import F
---------------------------------------------------------------------------------
-main :: IO ()
-main
-  = defaultMain
-  . localOption (HedgehogTestLimit $ Just 50)
-  $ testGroup "f functions"
-  [ test_split
-  ]
---------------------------------------------------------------------------------
-test_split :: TestTree
-test_split
-  = testGroup "split function"
-  [ testProperty "splits parts properly" splitSuccess
-  ]
-splitSuccess :: Property
-splitSuccess = property $ do
-  -- separator
-  --   <- H.forAll
-  --   $ Gen.element ['/', '\\']
-  parts
-    <- H.forAll
-    . Gen.list (Range.linear 0 10)
-    $ Gen.list (Range.linear 1 10) Gen.alphaNum
-  let path = intercalate [pathSeparator] parts
-  F.split path === parts