Я новичок в Haskell (и функциональном программировании в целом) и хотел бы узнать, как я могу получить доступ к новому элементу, который я добавил в список, используя cons (:) оператор?
Например, используя WinGHCi я создаю новый список и обращаюсь к первому элементу:
ghci> let a = [1,2,3]
ghci> a!!0
1
Подсказка возвращает 1, значение первого элемента, круто. Теперь я добавляю новое значение в начало списка и пытаюсь получить к нему доступ:
ghci> 5:a
[5,1,2,3]
ghci> a!!0
1
Похоже, что элементы списка не переиндексируются. Я пытался заставить работать отрицательный индекс и другие подобные вещи, но компилятор, похоже, этого не одобрил. Учебники, которые я читаю, просто пропускают это, и я не смог найти ничего полезного в Интернете. Как мне получить значение "5" из списка?
Спасибо за помощь и извините, если это очень простой вопрос.