library submission: Data.Either.unzipEithers :: [Either a b] -> ([a], [b])

Jeremy Shaw at
Fri Sep 14 16:12:41 EDT 2007

This function is like unzip for a list of Eithers instead of tuples.

According to google code search, I am at least the 5th person to
implement this function:

I opted for the name unzipEithers because the function is similar to
two existing functions: unzip and catMaybes. It seems less similar to
partition, because partition does not desconstruct the values, it just
divides them into to two groups. I have no particular attachment to
the name however.

I modeled the implementation after unzip and partition. Hopefully I
made effective use of the irrefutable patterns and laziness, but
someone else should verify.


More information about the Libraries mailing list