Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,34 @@
|
|||
import Data.Char (toLower)
|
||||
import Data.List (sortBy)
|
||||
import Data.Ord (comparing)
|
||||
|
||||
-------------------- CUSTOM COMPARATORS ------------------
|
||||
|
||||
lengthThenAZ :: String -> String -> Ordering
|
||||
lengthThenAZ = comparing length <> comparing (fmap toLower)
|
||||
|
||||
descLengthThenAZ :: String -> String -> Ordering
|
||||
descLengthThenAZ =
|
||||
flip (comparing length)
|
||||
<> comparing (fmap toLower)
|
||||
|
||||
--------------------------- TEST -------------------------
|
||||
main :: IO ()
|
||||
main =
|
||||
mapM_
|
||||
putStrLn
|
||||
( fmap
|
||||
unlines
|
||||
( [sortBy] <*> [lengthThenAZ, descLengthThenAZ]
|
||||
<*> [ [ "Here",
|
||||
"are",
|
||||
"some",
|
||||
"sample",
|
||||
"strings",
|
||||
"to",
|
||||
"be",
|
||||
"sorted"
|
||||
]
|
||||
]
|
||||
)
|
||||
)
|
||||
Loading…
Add table
Add a link
Reference in a new issue