Не удается заставить функции Data.List работать в haskell

Я создаю программу на Haskell и хочу использовать библиотеку Data.List. Итак, в верхней части моей программы я добавил import Data.List, а ниже в одной из моих функций я набрал Data.List.isAlpha x, но это дает мне ошибку компиляции - Not in scope:Data.List.isAlpha'`. Какие-либо предложения? Я пробовал использовать другую функцию из Data.List, но она не работает.

Вот функция, но я пытался ее заглушить, но она тоже не работает:

myFunc:: [String] -> String

myFunc list = filter Data.List.isAlpha (Data.List.nub(concat list))

Эта функция берет список строк, затем обнуляет их, чтобы избавиться от дубликатов, а затем сохраняет только оставшиеся символы, которые являются буквами.

Любая помощь будет действительно полезной! Спасибо!


person Jono    schedule 27.10.2013    source источник


Ответы (2)


isAlpha находится в Data.Char, а не Data.List

 import Data.List
 import Data.Char

 myFunc :: [String] -> String
 myFunc ls = filter isAlpha . nub . concat $ ls

В будущем я бы предложил не указывать имена полностью, просто

import Data.List as L
import Data.Char as C

-- Now use `C.isAlpha` and `L.nub`

И при поиске функций я бы предложил hoogle

person Daniel Gratzer    schedule 27.10.2013
comment
Спасибо! Я использовал вики haskell, которая, я думаю, не фрагментирована. - person Jono; 27.10.2013
comment
@jQwierdy нет проблем! если я ответил на ваш вопрос, пожалуйста, проверьте маленькую галочку рядом с ответом - person Daniel Gratzer; 27.10.2013

Функция isAlpha отсутствует в Data.List. Скорее это в Data.Char.

person Chris Taylor    schedule 27.10.2013