Prelude function suggestions
Christian Maeder
maeder at tzi.de
Wed Jul 28 07:09:34 EDT 2004
> split isSpace " foo bar baz " = ["foo","bar","baz"]
> split' isSpace " foo bar baz " = ["","foo","","bar","baz",""]
split can be obtained from split' via composition with "filter (not .
null)". Therefore the second version (split') is more important.
The name "chop" confused me in the first place (as I thought only the
last element should be chopped off)
The name "split" is a bit too general. (compared with "intersperse" that
somehow computes the opposite.)
The haddock library docs
http://www.haskell.org/ghc/docs/latest/html/libraries/doc-index-S.html
show:
split
1 (Function) GHC.Exts
2 (Function) Language.Haskell.THSyntax
3 (Function) System.Random, Random
splitAt Data.List, GHC.List, Prelude, List
splitAtPS Data.PackedString
splitPS Data.PackedString
splitWithPS Data.PackedString
According to PackedString the above function split' should be named
"splitWith" since it has a predicate argument. (So we do not need to
conform to PackedString.)
Btw "splitWithPS" and "splitPS" are wrong as they ignore a (single)
final blank!
splitWithPS isSpace $ packString " foo bar baz " =
["","foo","","bar","baz"]
Maybe "splitToLists" or "splitUp" (or "splitUpOn") are better names
Christian
More information about the Libraries
mailing list