3 ms·
Well, that's Haskell for you. Haskell folks love arrows and one letter variable names. I don't know why, I guess it's the algebra background of most Haskell f
by shp0ngle 5y ago
Well, that's Haskell for you.
Haskell folks love arrows and one letter variable names.
I don't know why, I guess it's the algebra background of most Haskell folks.
When I wrote some things in Haskell, I tried to use full words for function names and variable names, but it felt I am the only one. People just love to name stuff `a` `b` `m` `f` `k`
- creata 5y agoThe one-letter variables are all type parameters, and pretty much every programming language uses one-letter variables for type parameters. And I can't think of a better syntax for "functions from a to b" than (a → b). In a Java-ish syntax it'd look like: interface Functor { <T, U> Self<U> fmap(Self<T>, Function<T, U>); } which is just torture. What would it look like in your ideal syntax?
- one_comment 5y agoGive the types useful names, like everything else. Recently I did a review for a new peer and was pleasantly surprised that they used proper names for generic arguments. At first I stumbled of course, because I wasn't used to generic arguments being longer than a few characters but I think it helped the readability a lot. interface Functor { <Source, Target> Self<Target> fmap(Self<Source>, Function<Source, Target>); } Same code, but you get an additional hint of what's going on.
- creata 5y agoAlright, that's fine, but the person I replied to was complaining that "Haskell folks love arrows and one letter variable names", and my point was that most programmers love one letter variable names in this context.