
On 02/01/2019 13:45, Damien Mattei wrote:
i had filtered a [Maybe Text] type to remove Nothing from the list and now i want to put the result in a [Text] type but the compiler complains about the incompatible type :
As you've seen, filter removes values but doesn't change the type. If you did have [Maybe Text] you could use the library function catMaybes :: [Maybe a] -> [a] to both do the filtering and change the types.
(bd_rows_WDS :: [Only (Maybe Text)]) <- query conn qry_head_WDS (Only (name::String))
-- remove the records having N°BD NULL let fltWDS :: [Only Text] = Prelude.filter (\(Only a) -> case a of Nothing -> False Just a -> True) bd_rows_WDS
But in your case you actually have [Only (Maybe Text)] rather than [Maybe Text] so catMaybes won't work. One option is to use a list comprehension instead: let fltWDS = [Only a | Only (Just a) <- bd_rows_WDS] Cheers, Ganesh