Je pense que si la sémantique des arguments sont clairs dans le contexte de la base de code que vous pouvez sortir avec court de noms de variables. J'ai souvent de les utiliser en C# lambdas pour la même raison. Toutefois, si elle est ambiguë, vous devriez être plus explicite avec de nommage.
map :: (a->b) -> [a] -> [b]
map f [] = []
map f (x:xs) = f x : map f xs
Pour quelqu'un qui n'a pas eu d'exposition à Haskell, qui peut sembler moche, difficile à maintenir le code. Mais la plupart des Haskell programmeurs vont comprendre tout de suite. Donc, il fait le travail.
var list = new int[] { 1, 2, 3, 4, 5 };
int countEven = list.Count(n => n % 2 == 0)
Dans ce cas, à court nom de la variable semble le plus approprié.
list.Aggregate(0, (total, value) => total += value);
Mais dans ce cas, il semble plus approprié de nommer les variables, car elle n'est pas immédiatement apparent que l'Agrégat est en train de faire.
Fondamentalement, je ne crois pas trop s'inquiéter de la convention, sauf si c'est absolument nécessaire pour empêcher les gens de vissage. Si vous avez des choix en la matière, utiliser ce qui fait sens dans le contexte (langue, une équipe, un bloc de code) que vous travaillez, et sera compréhensible par quelqu'un d'autre lecture des heures, des semaines ou des années plus tard. Tout le reste n'est que perte de temps le trouble obsessionnel-compulsif.