I'm not - that's how they are defined in Racket.
"and expecting a response like"
Why do you assume so? I'm really curious what is the difference in the readability to someone who doesn't know the syntax.
"first year CS student"
Ok, so I had enough: you're just a stupid troll. Not only you can't back your claims with arguments but now you're (for the third time, no less) using ad hominem "argument"; it's useless talking to you since you're too stupid to formulate sensible response and you're too bad a programmer to even have a chance of knowing something interesting.
"and used on a single line"
Oh, on a single line? That's fine then...
You are. The argument is that you should be using single letter variables for small scope, simple variables. Like the classics:
for (i = 0; i < whatever; i++) {
myarray[i] = something();
}
and myfunction x:xs = dothing x + myfunction xs
When you decide to deliberately misrepresent that argument as "use single letter variables across modules" that is dishonest.>Oh, on a single line? That's fine then...
Yes, of course it is.
Why are you being so deliberately dishonest, and expecting a response like "oh, your strawman has totally convinced me to write shitty code, thank you so much first year CS student!"? The entire point is that x and xs are not defined elsewhere, they are defined by you, and used on a single line.