The -
character is one of the allowed characters in CSS idents. Judging by the resolution given here, it seems they wanted to prevent syntactic ambiguities that could arise from using -
without whitespace, especially with keyword values such as min-content
(although AFAIK keyword values aren’t yet allowed within calc()
— correct me if I’m wrong).
Not everyone agrees with this resolution, though.