There is a more general way to do this using Monoidand Foldable.
deleteN
:: (Foldable f, Monoid (f a))
=> (a -> f a -> f a) -- ^ cons operator
-> Int -- ^ index to delete
-> f a -- ^ initial structure
-> f a -- ^ resultant structure
deleteN cons n xs = flipTfo xs $ folded . ifiltered (\i _ -> i /= n)
where
flipTfo = flip toFoldableOf
toFoldableOf l = foldrOf l cons mempty
deleteList :: Monoid a => Int -> [a] -> [a]
deleteList = deleteN (:)