# Create concious compiler messages

**URL:** https://discourse.julialang.org/t/create-concious-compiler-messages/104303
**Category:** Internals & Design
**Created:** [September 27, 2023, 8:24am UTC](https://discourse.julialang.org/t/create-concious-compiler-messages/104303 "2023-09-27T08:24:06Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![ShalokShalom](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/shalokshalom/32/52462_2.png) [@ShalokShalom](https://discourse.julialang.org/u/ShalokShalom)
#### Post date: [September 27, 2023, 8:24am UTC](https://discourse.julialang.org/t/create-concious-compiler-messages/104303/1 "2023-09-27T08:24:06Z")

</div>

Hi 👍🏼

As a newbie, one of the hardest parts of Julia for me yet, is clearly its error messages. ☹

I find them often to be more confusing than helpful, and I am aware, that a part of this comes from the nature of Julia’s type system.

Also, I think a substantial amount of disorder comes from the lack of conscious formatting, contextual information, and user guidance.

I envision the error reporting to be more akin to Elm, Rust.  
And I am more than willing to contribute such conscious compiler communication.

See what [John Carmack](https://twitter.com/id_aa_carmack/status/735197548034412546) has to say about this, a known legend in the industry.  
Such improved error messaging has shown to be quite popular at the communities, it is introduced.

It is often named as one of [the most loved](https://discourse.elm-lang.org/t/what-are-your-favorite-things-about-elm/6947/20), and [outstanding](https://www.amazingcto.com/developer-productivity-compiler-errors/) features of said languages.

It seems currently that Julia does only dump the stack trace.

The upcoming [JuliaSyntax](https://github.com/JuliaLang/JuliaSyntax.jl) is thankfully improving the situation significantly, offering a lot more information in its error output.

[![](https://global.discourse-cdn.com/julialang/original/3X/f/e/fee5b1ef21fc791fd9e1290dceec45ef54359e1f.jpeg "JuliaSyntax.jl: A new Julia compiler frontend in Julia | Chris Foster | JuliaCon 2022") ](https://www.youtube.com/watch?v=CIiGng9Brrk&t=97)

Let us consciously format and contextualize the output to be more readable.  
And to guide the user to documentation.

I think it would benefit the language.

---

<div class="post-metadata">

### Author: ![jar1](https://avatars.discourse-cdn.com/v4/letter/j/c0e974/32.png) [@jar1](https://discourse.julialang.org/u/jar1)
#### Post date: [September 27, 2023, 8:25am UTC](https://discourse.julialang.org/t/create-concious-compiler-messages/104303/2 "2023-09-27T08:25:47Z")

</div>

See this thread.

> [@Make Julia’s Error Codes Even Better Than Elm’s](https://discourse.julialang.org/t/make-julia-s-error-codes-even-better-than-elm-s/87409):
>
> Extremely user friendly and helpful for new users

---

<div class="post-metadata">

### Author: ![ShalokShalom](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/shalokshalom/32/52462_2.png) [@ShalokShalom](https://discourse.julialang.org/u/ShalokShalom)
#### Post date: [September 27, 2023, 8:28am UTC](https://discourse.julialang.org/t/create-concious-compiler-messages/104303/3 "2023-09-27T08:28:26Z")

</div>

Sadly, this thread has been quickly devolved into a very different topic, in my opinion.

It has not really been perceived as what I intend to say in this post.  
And I was reluctant, to unearth this quite old post, so I started a new one.

I really hope, this time, we can speak about the practical application of this proposal.

Not some slight improvement of the existing model.  
As is described in that existing thread.

---

<div class="post-metadata">

### Author: ![lmiq](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lmiq/32/18314_2.png) [@lmiq](https://discourse.julialang.org/u/lmiq)
#### Post date: [September 27, 2023, 10:34am UTC](https://discourse.julialang.org/t/create-concious-compiler-messages/104303/4 "2023-09-27T10:34:42Z")

</div>

Some of the improvements with JuliaSyntax have landed in 1.10 (not sure if you’re using it). I think the expectation is that these errors will be improved from now, with this framework.

---

<div class="post-metadata">

### Author: ![ShalokShalom](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/shalokshalom/32/52462_2.png) [@ShalokShalom](https://discourse.julialang.org/u/ShalokShalom)
#### Post date: [September 27, 2023, 3:52pm UTC](https://discourse.julialang.org/t/create-concious-compiler-messages/104303/5 "2023-09-27T15:52:21Z")

</div>

Yes, this is why I wrote: ‘The upcoming JuliaSyntax is thankfully improving the situation significantly’ 😁

Still, it has mostly improved error detection, and NOT how errors are presented.

They have not changed, to my knowledge, how they are set into context, and have not empowered the compiler to guide the user through the steps that follow.

As an example, by providing a link to the respective documentation.

The improvements of JuliaSyntax are huge, I love them, and they barely touch the subject, of what I am talking about here.

There is a huge potential in how the errors are presented, contextualized and how they are used, to inform the user about the mistake they have done.
