# I want to understand Julia type system, I need some guide for this quest

**URL:** https://discourse.julialang.org/t/i-want-to-understand-julia-type-system-i-need-some-guide-for-this-quest/121854
**Category:** Internals & Design
**Created:** [October 28, 2024, 7:39am UTC](https://discourse.julialang.org/t/i-want-to-understand-julia-type-system-i-need-some-guide-for-this-quest/121854 "2024-10-28T07:39:37Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![KZiemian](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kziemian/32/9020_2.png) [@KZiemian](https://discourse.julialang.org/u/KZiemian)
#### Post date: [October 28, 2024, 7:39am UTC](https://discourse.julialang.org/t/i-want-to-understand-julia-type-system-i-need-some-guide-for-this-quest/121854/1 "2024-10-28T07:39:37Z")

</div>

I must say that I’m intrigued by Julia type system and I want to understand it more. In particular I want to understand works like this of prof. Jan Vitek and his collaborators mentioned in his [2021 JuliaCon keynote](https://www.youtube.com/live/LT4AP7CUMAw) and newer papers like [\_ Decidable Subtyping of Existential Types for Julia\_](https://benchung.github.io/papers/decidable-subtyping.pdf) published in 2023, but I lack a background for it, so I want to ask for help. What material should I studied to get into this topic? I assume I should now some solid type theory, but I don’t know where to start.

I’m person that is very found of logic, mathematical logic and math in general, so I would prefer resources that emphasis rigour and formal structures, not something that is easy for beginners. Even if this first route cost me more sweet, I strongly believe that I will gain much more from it. At this moment price of books and related materials is secondary thing to me, quality is the most important factor.

---

<div class="post-metadata">

### Author: ![DatName](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/datname/32/418_2.png) [@DatName](https://discourse.julialang.org/u/DatName)
#### Post date: [November 22, 2024, 5:35am UTC](https://discourse.julialang.org/t/i-want-to-understand-julia-type-system-i-need-some-guide-for-this-quest/121854/2 "2024-11-22T05:35:18Z")

</div>

You can have a look at [[1209.5145] Julia: A Fast Dynamic Language for Technical Computing](https://arxiv.org/abs/1209.5145) (written by language authors, so that should be a start, I guess), [[2310.16866] A Type System for Julia](https://arxiv.org/abs/2310.16866), etc.

---

<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: [November 22, 2024, 10:17am UTC](https://discourse.julialang.org/t/i-want-to-understand-julia-type-system-i-need-some-guide-for-this-quest/121854/3 "2024-11-22T10:17:32Z")

</div>

I found “Julia Subtyping: A Rational Reconstruction” delightful.

> **[jlsub.pdf](https://benchung.github.io/papers/jlsub.pdf)**
>
> 805.39 KB

---

<div class="post-metadata">

### Author: ![nsajko](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nsajko/32/221187_2.png) [@nsajko](https://discourse.julialang.org/u/nsajko)
#### Post date: [November 22, 2024, 12:08pm UTC](https://discourse.julialang.org/t/i-want-to-understand-julia-type-system-i-need-some-guide-for-this-quest/121854/4 "2024-11-22T12:08:12Z")

</div>

Perhaps it’d be better to first read the Julia-related papers, trying to understand them as much as possible on the first read, and only then reach for more general literature. It could also be a good idea to ask specific questions here on Discourse.

NB: keep in mind that all of these papers only describe simplified versions of the actual mechanisms as defined by the reference implementation.

---

<div class="post-metadata">

### Author: ![Tarny\_GG\_Channie](https://avatars.discourse-cdn.com/v4/letter/t/3bc359/32.png) [@Tarny\_GG\_Channie](https://discourse.julialang.org/u/Tarny_GG_Channie)
#### Post date: [November 23, 2024, 9:53am UTC](https://discourse.julialang.org/t/i-want-to-understand-julia-type-system-i-need-some-guide-for-this-quest/121854/5 "2024-11-23T09:53:50Z")

</div>

Please note that while the general mechanism of the type system continues to work, the exact mechanism of the type system might change over time.
