Empty list without list literals
Haskell Community [Unofficial]
May 22, 2026
This is my situation. I want to make this rule:
{-# RULES "++ 1 element" forall x xs. (x:[]) ++ xs = x:xs #-}
However, I have OverloadedLists enabled, so this becomes.
{-# RULES "++ 1 element" forall x xs. (x:(fromList [])) ++ xs = x:xs #-}
Is there a way to avoid this automatic fromList? Also, I’d like to be able to just say that a list is normal for readability.
Discussion in the ATmosphere