
8 Jan
2021
8 Jan
'21
12:13 p.m.
On Fri, 8 Jan 2021, Keith wrote:
Currently:
head ~(a :| _) = a tail ~(_ :| as) = as
But head and tail are both strict. At best the '~'s have no effect.
Should I open a PR to change it to
head (a :| _) = a tail (_ :| as) = as
or maybe even more clearly
head !(a :l _) = a tail !(_ :| as) = as
?
The last one would trigger the "redundant bang pattern" warning that is going to be implemented/released: https://gitlab.haskell.org/ghc/ghc/issues/17340