We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Could either be done in a new Data.Containers.ListUtils.NonEmpty module or just suffix the functions with NE.
Data.Containers.ListUtils.NonEmpty
NE
Could either implement all NE functions in terms of non-NE functions:
nubOrd :: Ord a => [a] -> [a] nubOrd = ... nubOrdNE :: Ord a => NonEmpty a -> NonEmpty a nubOrdNE (a :| as) = a :| nubOrd (filter (/= a) as)
or copy the implementations and just implement the lowest NE helper in terms of the non-NE helper:
nubOrd :: Ord a => [a] -> [a] nubOrd = nubOrdOn id nubOrdNE :: Ord a => NonEmpty a -> NonEmpty a nubOrdNE = nubOrdOnNE id nubOrdOnExcluding :: Ord b => (a -> b) -> Set b -> [a] -> [a] nubOrdOnExcluding = ... nubOrdOnExcludingNE :: Ord b => (a -> b) -> Set b -> NonEmpty a -> NonEmpty a nubOrdOnExcludingNE f s (a :| as) = a :| nubOrdOnExcluding f (Set.insert (f a) s) as
Related: #465
The text was updated successfully, but these errors were encountered:
I think a separate module would probably be nicer. What do you think? The second implementation option is definitely the right one.
Sorry, something went wrong.
No branches or pull requests
Could either be done in a new
Data.Containers.ListUtils.NonEmpty
module or just suffix the functions withNE
.Could either implement all
NE
functions in terms of non-NE
functions:or copy the implementations and just implement the lowest
NE
helper in terms of the non-NE
helper:Related: #465
The text was updated successfully, but these errors were encountered: