Hello
The Julia documentation refers to "keyword arguments" rather than keyword
parameters.
The term makes more sense in Python perhaps, since a keyword argument
refers to an argument in a call being passed with the parameter name, and a
keyword argument can be passed to any parameter at all. Python doesn't
distinguish parameters whose corresponding arguments must be passed
positionally or by name.
But Julia, I think, is a little more technical here: it uses the semicolon
in the function definition to separate *parameters*. Parameters are those
things in a function *declaration*; arguments are those things in a
function *call*. So if I define a Julia function (here I'll use the
definition from the Julia docs):
function plot(x, y; style="solid", width=1, color="black")
###
end
then would it be acceptable to say that x and y are *positional parameters*
and style, width, and height, are *keyword parameters*?
I did notice that the authors of the documentation are very careful to use
the phrase "keyword arguments" carefully, referring always to the arguments
in a call and never to the parameters themselves. But the documentation
avoids using the modifiers "positional" and "keyword" for parameters.
Why is that? Is it wrong to say "style is a keyword parameter, because only
a keyword argument can be passed to it"?