Удалить первый и последний элемент из списка в Haskell

Я пишу небольшую функцию, которая может помочь мне избавиться от первого и последнего элемента списка. Вот что я пытаюсь сделать:--2-->

>firstLast::[a]->[a]
>firstLast [x] = [ ]
>firstLast h:t = [i|i!= head[a] || i!= last[a]]

Как вы можете видеть, я пытаюсь использовать понимание списка здесь, но, по-видимому, я не использовал его должным образом.

1 ответов


почему не просто так?

firstLast::[a]->[a]
firstLast [] = []
firstLast [x] = []
firstLast xs = tail (init xs)