ИИ для разгадки азбуки Морзе?
Код не правильный он должен быть с паузами между буквами. 
А в данном случае попробуйте подбирать от "длинных" букв к коротким и забудьте про ИИ
Курс Степика "Haskell, часть 2"
п. 1.4. Если использовать парсер (список пар) как класс Alternative, то будут предложены все возможные варианты разбора.
Кстати, без пробелов особого смысла преобразовывать нет.
UPDATE. Перепутал с Alternative, он реализует принцип First (первый ненулевой).