Donít have strong opinions on this and definitely donít want the naming to block the PEP.


I donít think correctness when it comes to terminology for something as fundamental as a programming language is a bad thing. Given how prevalent Python is as a teaching tool in CS101 classes I think using the right words for things Ė even if the distinction is not as clear in Python Ė to me personally seems like something thatís worth prioritizing.


From: Guido van Rossum <>
Reply-To: "" <>
Date: Friday, January 3, 2020 at 8:07 AM
To: Ethan Smith <>
Cc: Brett Cannon <>, Typing-sig <>
Subject: [Typing-sig] Re: PEP 612: Parameter Specification Variables


Let me add my +1 to this.


To me, ParamSpec is just longer (and slower to pronounce) for a reason that's debatable and smells like hyper-correctness. After all we typically write *args and **kwargs so the term "arguments" still comes up frequently when discussing function definitions.


I used to believe in the rule that "parameters" are what's part of the function definition and "arguments" are used in a function call, but now I think that the distinction is just a distraction, and trying to follow it a lost cause and probably a form of hyper-correctness.


On Thu, Jan 2, 2020 at 4:38 PM Ethan Smith <> wrote:

+1 to what Bret said. 



I think a lot of people use argument and parameter interchangeably too, at least that's what I noticed.


On Thu, Jan 2, 2020, 4:10 PM Brett Cannon <> wrote:

I will say that for me, `ArgSpec` makes me think of `inspect.getargspec()` and friends:
Typing-sig mailing list --
To unsubscribe send an email to

Typing-sig mailing list --
To unsubscribe send an email to


--Guido van Rossum (

Pronouns: he/him (why is my pronoun here?)