Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Personally, I'd have made it a diglyph of some sort, like :* or ^*, to make it obvious to someone looking at python math code for the first time that this is a multiplication operator. @ just leaves a weird taste here.


Agreed; this needs an operator, but it doesn't need a single-character operator, and the operator should have had * in it.


The pros and cons of different operator possibilities are discussed extensively in the PEP that added the matrix multiplication operator.



I love the snark in that PEP:

> APL apparently used +.× , which by combining a multi-character token, confusing attribute-access-like . syntax, and a unicode character, ranks somewhere below U+2603 SNOWMAN on our candidate list.

and then later, one of the reasons @ is better than the alternatives:

> Whatever, we have to pick something.


What about the & char?


& is the bitwise and operator.


Yep, forgot thanks.


Not particularly well, though. No actual explanation was given for rejecting ^(star), and :(star) wasn't even mentioned.

(Aside: HN really needs a better way to escape star inline in text.)


It sounded like there was a bit of general preference for a single-character operator, which is a sentiment I can get behind.


OCaml has * for int multiplication and * . for float multiplication. you cannot overload but you can define your own, so people tend to do things like define *: for complex multiplication.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: