# Decidable Subtyping of Existential Types for Julia

**URL:** <https://discourse.julialang.org/t/decidable-subtyping-of-existential-types-for-julia/116423>\
**Category:** Internals & Design\
**Created:** [June 30, 2024, 12:07pm UTC](https://discourse.julialang.org/t/decidable-subtyping-of-existential-types-for-julia/116423 "2024-06-30T12:07:17Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![xiaoxi](https://avatars.discourse-cdn.com/v4/letter/x/a9adbd/32.png) [@xiaoxi](https://discourse.julialang.org/u/xiaoxi)\
**Post date:** [June 30, 2024, 12:07pm UTC](https://discourse.julialang.org/t/decidable-subtyping-of-existential-types-for-julia/116423/1 "2024-06-30T12:07:17Z")

</div>

This week, during PLDI 2024, there was a talk on how to make Julia’s subtyping decidable.

> **[Decidable Subtyping of Existential Types for Julia | Proceedings of the ACM...](https://dl.acm.org/doi/10.1145/3656421)**
>
> Julia is a modern scientific-computing language that relies on multiple dispatch to
> implement generic libraries. While the language does not have a static type system,
> method declarations are decorated with expressive type annotations to determine...

Congratulations to the four authors!

---

<div class="post-metadata">

**Author:** ![xiaoxi](https://avatars.discourse-cdn.com/v4/letter/x/a9adbd/32.png) [@xiaoxi](https://discourse.julialang.org/u/xiaoxi)\
**Post date:** [July 5, 2024, 2:17pm UTC](https://discourse.julialang.org/t/decidable-subtyping-of-existential-types-for-julia/116423/2 "2024-07-05T14:17:47Z")

</div>

Does this work help to improve this algorithm?

> **[Approximating Type Stability in the Julia JIT (Work in Progress) |...](https://dl.acm.org/doi/10.1145/3623507.3623556)**

Has any progress been made in formalizing the subtyping algorithm beyond this?

> **[Julia subtyping: a rational reconstruction | Proceedings of the ACM on...](https://dl.acm.org/doi/10.1145/3276483)**
>
> Programming languages that support multiple dispatch rely on an expressive notion
> of subtyping to specify method applicability. In these languages, type annotations
> on method declarations are used to select, out of a potentially large set of...
