# How to overload operators and their doc bindings

**URL:** <https://discourse.julialang.org/t/how-to-overload-operators-and-their-doc-bindings/87372>\
**Category:** General Usage\
**Created:** [September 16, 2022, 2:07pm UTC](https://discourse.julialang.org/t/how-to-overload-operators-and-their-doc-bindings/87372 "2022-09-16T14:07:16Z")\
**Posts on this page:** 1\
**Showing post:** 19

<div class="post-metadata">

**Author:** ![stevengj](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stevengj/32/71_2.png) [@stevengj](https://discourse.julialang.org/u/stevengj)\
**Post date:** [September 16, 2022, 4:15pm UTC](https://discourse.julialang.org/t/how-to-overload-operators-and-their-doc-bindings/87372/19 "2022-09-16T16:15:50Z")

</div>

No, because `Main.(x)` denotes a “dot call”, equivalent to `broadcast(Main, x)`.

It’s certainly true that there are many different syntactic styles Julia _could_ have chosen. We could have chosen to be more like Python, or more like Rust, or more like Lisp. But the fact of the matter is we _have_ chosen a syntax, and it’s all inter-related — you can’t just change one aspect without changing everything else. Nor is Julia at the stage of development where we are changing basic syntactic structures (see [PSA: Julia is not at that stage of development anymore](https://discourse.julialang.org/t/psa-julia-is-not-at-that-stage-of-development-anymore/44872)), and any new syntax must be added in a carefully nonbreaking way and to solve a real problem, not just because we want a slightly different spelling.

(You may think `Main.:foo` is not “sensible”, but in fact this is very consistent with Julia’s metaprogramming facilities, which require a way of “quoting” symbols.)

---

_[View the full topic](https://discourse.julialang.org/t/how-to-overload-operators-and-their-doc-bindings/87372)._
