Haskell - Używaj wszystkich liter na liście [String], używając ToUpper

Mam listę [String], której zadaniem jest usunięcie tych elementów z listy, które mają „q” lub „p”, a następnie wielkie litery na liście wielką literą toUpper.

To, co próbowałem, jest następujące:

delAndUpper :: [String] -> [String]
delAndUpper myList = filter (\x -> not('p' `elem` x || 'q' `elem` x)) myList

Usuwa niepotrzebne elementy z listy poprawnie, jednak nie mogę zastosować się do tej opcji na tej liście, ponieważ typ toUpper to Char.

Próbowałem go z mapą i nie działa.

delAndUpper myList = map toUpper (filter (\x -> not('p' `elem` x || 'q' `elem` x)) myList)

Wiem, że toUpper w tej linii kodu otrzymuje listę jako wartość i dlatego nie może działać, ale wie, jak przejść poziom na listę i zastosować mapę do Górniej.

Czy mógłbyś mi pomóc.

Z góry dziękuję!

Pozdrowienia

questionAnswers(3)

yourAnswerToTheQuestion