On 2019-02-10, Chris Angelico <ros...@gmail.com> wrote: > On Mon, Feb 11, 2019 at 2:21 AM Jon Ribbens <jon+use...@unequivocal.eu> wrote: >> On 2019-02-09, Terry Reedy <tjre...@udel.edu> wrote: >> > '/' is no uglier than, and directly analogous to, and as easy to produce >> > and comprehend, as '*'. It was selected after considerable discussion >> > of how to indicate that certain parameters are, at least in CPython, >> > positional only. The discussion of options included at least some of >> > those given above. It is very unlikely to go away or be changed. >> >> Ok, but what does it *mean*? > > It means "everything prior to this point is positional-only". > >> As an aside, how is 'math.sin' actually implemented? mathmodule.c >> refers to the function 'math_sin' but that name is not defined >> anywhere in the Python source code. I'm a bit mystified as to how >> CPython manages to compile! > > A lot of those sorts of functions are hyperthin wrappers around the C > math library. A bit of digging takes me to line 1176 of mathmodule.c > (in my source tree; exact line number may vary), which uses the > #define of FUNC1 from line 1032, and the actual code is up at line > 876, with a good block comment.
Ah, it's using C preprocessor string concatenation to build the function name, which is why grepping for 'math_sin' didn't find it. Many thanks for your helpful answers. -- https://mail.python.org/mailman/listinfo/python-list