Earlier quoted context omitted.
No, the problem is giving names that are too specific to things. Like if you're implementing a merge sort for some reason, and go to write merge: merge :: Ord a => [a] -> [a] -> [a] merge (x:xs) (y:ys) | x Those are the ideal variable names. Clarity is only hurt by making the names "descriptive" by naming the type variable elementOfListsToMerge or the parameters things like theHeadOfTheFirstList and so on. It's usele…
I think this is kinda my point. Haskell folks like to show unrealistically small code samples that don't even do the small thing they claim, where one-letter names are kinda defensible, and then you realize that that's how they name everything. Since you like sorts, have you seen a Haskell implementation of quicksort that spells out the word "pivot"? This seems like a small ask. Surely someone has done it. Before typ…
"i less than j". Not hard to guess if you know about "LT" in the standard library.