# Aliases for \`=\` and \`==\`

**URL:** <https://discourse.julialang.org/t/aliases-for-and/60004>\
**Category:** Internals & Design\
**Tags:** proposal\
**Created:** [April 25, 2021, 9:35pm UTC](https://discourse.julialang.org/t/aliases-for-and/60004 "2021-04-25T21:35:44Z")\
**Posts on this page:** 4\
**Page:** 3

<div class="post-metadata">

**Author:** ![jzr](https://avatars.discourse-cdn.com/v4/letter/j/eb9ed0/32.png) [@jzr](https://discourse.julialang.org/u/jzr)\
**Post date:** [May 24, 2021, 6:19pm UTC](https://discourse.julialang.org/t/aliases-for-and/60004/42 "2021-05-24T18:19:31Z")

</div>

I meant more specifically in this case, there is a particular syntactic pattern that exhibits the problem this issue is about. We can look at some code (e.g. the General registry) to see how often that pattern appears.

---

<div class="post-metadata">

**Author:** ![dlfivefifty](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dlfivefifty/32/1959_2.png) [@dlfivefifty](https://discourse.julialang.org/u/dlfivefifty)\
**Post date:** [May 24, 2021, 6:50pm UTC](https://discourse.julialang.org/t/aliases-for-and/60004/43 "2021-05-24T18:50:37Z")

</div>

It’s clearly a waste of time to look into this: I’m guessing the probability that this will ever change in Julia is nil, as most users are happy with the current syntax and the benefits of making a change are very limited

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [May 25, 2021, 6:26am UTC](https://discourse.julialang.org/t/aliases-for-and/60004/44 "2021-05-25T06:26:02Z")

</div>

> [@jzr](#):
>
> We can look at some code (e.g. the General registry) to see how often that pattern appears.

I am still not sure what the purpose of this exercise is — the pattern is problematic only if it is a bug, and presumably it isn’t, for any package with decent test coverage.

Generally there is a trade-off between languages protecting users from mistakes like this (via type checks, making certain syntaxes error, etc) and having terse syntax. Though this is not made very explicit, Julia is somewhere in the middle of this spectrum: ambiguous syntax is usually an error, but other than that the language does not try to second-guess the programmer.

I happen to like Julia this way, but I understand that reasonable people can have a different preference about this. It’s just that, as @dlfivefifty suggested, surface syntax is [very unlikely to change in Julia](https://discourse.julialang.org/t/psa-julia-is-not-at-that-stage-of-development-anymore/44872).

---

<div class="post-metadata">

**Author:** ![jzr](https://avatars.discourse-cdn.com/v4/letter/j/eb9ed0/32.png) [@jzr](https://discourse.julialang.org/u/jzr)\
**Post date:** [May 25, 2021, 7:21am UTC](https://discourse.julialang.org/t/aliases-for-and/60004/45 "2021-05-25T07:21:44Z")

</div>

> [@Tamas\_Papp](#):
>
> I am still not sure what the purpose of this exercise is — the pattern is problematic only if it is a bug, and presumably it isn’t, for any package with decent test coverage.

The idea would be to count the _intended_ `==` version as a proxy for the _buggy_ `=` version. But as you say, it’s probably not worthwhile.

[Previous page](https://discourse.julialang.org/t/aliases-for-and/60004.md?page=2)
