Haskell List of tuples to list?

haskell

Solution

Your question is not very certain about how the tuples should be converted into a list. I assume that you want to have them flattend - for instance, `[(1,2),(3,4)]` should become `[1,2,3,4]`.

This translation is only possible, if the two elements of your tuple are of the same type. In this case you can do something like this:

tupleToList :: [(a,a)] -> [a]
tupleToList ((a,b):xs) = a : b : tupleToList xs
tupleToList _          = []

In the general case, such a translation is impossible. One thing I could imagine to make the impossible possible is to use `Either` to wrap up the two different types:

tupleToList :: [(a,b)] -> [Either a b]
tupleToList ((a,b):xs) = Left a : Right b : tupleToList xs

Problem

Is it possible to convert a list of tuples `[(Int,Int)]` as a generic way which valid to any input size ? .. i saw in various questions thats its not possible generically example : ``` type X = [(Int,Int)] func :: X -> [Int] ```

Original source