haskell - вложенные пустые списки

Привет, Haskellers и Haskellettes,

при чтении http://learnyouahaskell.com/ мой друг обнаружил проблему:

Возможно ли в Haskell написать рекурсивную функцию, которая возвращает True, если все под-под-подсписки пусты. Мое первое предположение было - должно быть - но у меня большая проблема с написанием аннотации типа.

он попробовал что-то вроде

nullRec l = if null l
               then True
               else if [] `elem` l
                    then nullRec (head [l]) && nullRec (tail l)
                    else False

, которое - не работает -: -)

я придумал что-то вроде

  • ] сворачивание с помощью concat - чтобы получить один длинный список
    (у меня возникают проблемы с реализацией)
  • или создание бесконечного древовидного типа данных - и создание этого из списка
    (еще не реализовано)

, но последнее звучит немного похоже на излишество для этой проблемы. каковы ваши идеи - в такое солнечное воскресенье; -)

Заранее благодарю


за реакцию на все комментарии - это плохой стиль, я бы хотел добавить это просто эксперимент !
НЕ пробуйте это дома! ; -)

7
задан epsilonhalbe 10 July 2011 в 18:12
поделиться