ls command written in Haskell, with improved design.