Ошибка синтаксического анализа при вводе 'else' в операторе If-Then-Let-Else (Haskell)

Эта часть кода проверяет, равно ли заданное число (первый элемент в списке) нулю (да, я пытался == 0, но получил другие ошибки) Затем он возвращает все элементы другого списка, кроме первого. Если нет, возвращается другой список. Функция имеет тип [a], а 'newpack' должна быть переменной, как она будет использоваться позже.

                              if ((position!!1) < 1)
                                then 
                                    let newpack =   drop ((length pack)-1) pack
                                else
                                    let newpack = (take ((position!!1)-1) pack) ++ (drop ((position!!1)+1) pack)

Ошибка 46:73: ошибка синтаксического анализа на входе 'else'

Есть ли какое-либо представление, почему это не работает? Разве это то, что давайте нуждаемся в «входе» с ними?

Спасибо за помощь,

J

0
задан CSJC 23 March 2012 в 19:06
поделиться