# Internals & Design

**URL:** https://discourse.julialang.org/c/dev/5.md

[Latest](https://discourse.julialang.org/latest.md) · [Categories](https://discourse.julialang.org/categories.md) · [Tags](https://discourse.julialang.org/tags.md)

---

## [About the Internals & Design category](https://discourse.julialang.org/t/about-the-internals-design-category/13)

<div class="topic-metadata">

**Author:** [@vchuravy](https://discourse.julialang.org/u/vchuravy)\
**Replies:** 0\
**Last updated:** [October 19, 2016, 2:58am UTC](https://discourse.julialang.org/t/about-the-internals-design-category/13 "2016-10-19T02:58:29Z")

</div>

Discussion of the development of Julia itself: language design, implementation and standard library. For questions about using Julia, use the Usage category. To reduce noise, users must be at least trust level one (basi…

---

## [Type Constructors (=multiple dispatch for \`UnionAll\`)](https://discourse.julialang.org/t/type-constructors-multiple-dispatch-for-unionall/139622)

<div class="topic-metadata">

**Author:** [@PatrickHaecker](https://discourse.julialang.org/u/PatrickHaecker)\
**Replies:** 0\
**Last updated:** [September 23, 2026, 7:45am UTC](https://discourse.julialang.org/t/type-constructors-multiple-dispatch-for-unionall/139622 "2026-09-23T07:45:59Z")

</div>

TL;DR Let’s use (static) multiple dispatch for UnionAll type application! This would introduce type constructors. They would take a UnionAll to construct a type similar to how inner (object/value) constructors take a ty…

---

## [Prospective changes to AnnotatedString and StyledStrings](https://discourse.julialang.org/t/prospective-changes-to-annotatedstring-and-styledstrings/134847)

<div class="topic-metadata">

**Author:** [@tecosaur](https://discourse.julialang.org/u/tecosaur)\
**Replies:** 22\
**Last updated:** [September 21, 2026, 5:46pm UTC](https://discourse.julialang.org/t/prospective-changes-to-annotatedstring-and-styledstrings/134847 "2026-09-21T17:46:56Z")

</div>

A request for feedback and testing for a large piece of work I’ve undertaken Background The StyledStrings was first conceptualised in June 2021, PR’d in May 2023, merged in Oct 2023, and shipped in Julia v1.11. Since t…

---

## [Julia 1.14 feature freeze: Monday, October 12, 2026](https://discourse.julialang.org/t/julia-1-14-feature-freeze-monday-october-12-2026/139560)

<div class="topic-metadata">

**Author:** [@dilumaluthge](https://discourse.julialang.org/u/dilumaluthge)\
**Replies:** 0\
**Last updated:** [September 19, 2026, 4:12am UTC](https://discourse.julialang.org/t/julia-1-14-feature-freeze-monday-october-12-2026/139560 "2026-09-19T04:12:14Z")

</div>

We have set the feature freeze for Julia 1.14 to Monday, October 12, 2026. If there are any feature PRs that you’d like to get into Julia 1.14, they’ll need to be merged prior to that date. For context, the Julia 1.13…

---

## [JuliaSyntax.jl vs flisp julia-parser](https://discourse.julialang.org/t/juliasyntax-jl-vs-flisp-julia-parser/139554)

<div class="topic-metadata">

**Author:** [@Palli](https://discourse.julialang.org/u/Palli)\
**Replies:** 0\
**Last updated:** [September 18, 2026, 5:51pm UTC](https://discourse.julialang.org/t/juliasyntax-jl-vs-flisp-julia-parser/139554 "2026-09-18T17:51:54Z")

</div>

JuliaSyntax.jl not mentioned, and “constructed by julia-parser.scm” is outdated? It’s no longer used right, at least by default? There is another document mentioning both. I think I could clarify this document, I want …

---

## [\[a,b,c,d\] for a,b,c,d::Union{Float64,Int} fails type prediction at seemingly no benefit](https://discourse.julialang.org/t/a-b-c-d-for-a-b-c-d-union-float64-int-fails-type-prediction-at-seemingly-no-benefit/139515)

<div class="topic-metadata">

**Author:** [@skraemer](https://discourse.julialang.org/u/skraemer)\
**Replies:** 1\
**Last updated:** [September 17, 2026, 6:41pm UTC](https://discourse.julialang.org/t/a-b-c-d-for-a-b-c-d-union-float64-int-fails-type-prediction-at-seemingly-no-benefit/139515 "2026-09-17T18:41:21Z")

</div>

I have recently already asked related questions, but type prediction for union types has unfortunately become a gift for me that keeps on giving. Replacing Base.promote\_typeof by a simpler implementation seems at no los…

---

## [New syntax for function decoration with macros](https://discourse.julialang.org/t/new-syntax-for-function-decoration-with-macros/139512)

<div class="topic-metadata">

**Author:** [@Gregstrq](https://discourse.julialang.org/u/Gregstrq)\
**Replies:** 2\
**Last updated:** [September 17, 2026, 10:40am UTC](https://discourse.julialang.org/t/new-syntax-for-function-decoration-with-macros/139512 "2026-09-17T10:40:31Z")

</div>

I have noticed, that the Base functions now use a new syntax, where the decorator macros such as @inline or @propagate\_inbounds appear as the first line of the body of the function. What version of Julia was this synta…

---

## [Building an incremental sysimage in seconds instead of minutes](https://discourse.julialang.org/t/building-an-incremental-sysimage-in-seconds-instead-of-minutes/139352)

<div class="topic-metadata">

**Author:** [@melevy](https://discourse.julialang.org/u/melevy)\
**Replies:** 0\
**Last updated:** [September 10, 2026, 8:56pm UTC](https://discourse.julialang.org/t/building-an-incremental-sysimage-in-seconds-instead-of-minutes/139352 "2026-09-10T20:56:55Z")

</div>

Disclaimer: this post was written using AI, but I did my best to make this informative and useful for others. The post has been flagged for being an advertisement, it is not. I hope it passes this time. This is a resear…

---

## [Compiled application startup time under 10ms for 368MB sysimage](https://discourse.julialang.org/t/compiled-application-startup-time-under-10ms-for-368mb-sysimage/139313)

<div class="topic-metadata">

**Author:** [@melevy](https://discourse.julialang.org/u/melevy)\
**Replies:** 0\
**Last updated:** [September 9, 2026, 3:14pm UTC](https://discourse.julialang.org/t/compiled-application-startup-time-under-10ms-for-368mb-sysimage/139313 "2026-09-09T15:14:08Z")

</div>

I build compiled binaries for a network simulator and the process startup time really bugged me. Investigation showed that it is not really inherent to the problem. The image is mmapped fine, but then the loader walks tw…

---

## [Why open-source timelines/roadmaps don't work](https://discourse.julialang.org/t/why-open-source-timelines-roadmaps-dont-work/99518)

<div class="topic-metadata">

**Author:** [@tim.holy](https://discourse.julialang.org/u/tim.holy)\
**Replies:** 41\
**Last updated:** [September 7, 2026, 6:48pm UTC](https://discourse.julialang.org/t/why-open-source-timelines-roadmaps-dont-work/99518 "2026-09-07T18:48:09Z")

</div>

In my time working on Julia, I’ve seen a lot of requests for estimates of when some feature will be finished, or a roadmap for how it’s going to be accomplished. This post is intended to summarize why satisfying these re…

---

## [Invalidations caused by FixedPointNumbers](https://discourse.julialang.org/t/invalidations-caused-by-fixedpointnumbers/139232)

<div class="topic-metadata">

**Author:** [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Replies:** 1\
**Last updated:** [September 6, 2026, 10:21pm UTC](https://discourse.julialang.org/t/invalidations-caused-by-fixedpointnumbers/139232 "2026-09-06T22:21:48Z")

</div>

The FixedPointNumbers package is causing many invalidations, even though it does not engage in type piracy. For details, see: Loading FixedPointNumbers invalidates ~7,700 precompiled method instances (7x slower first mtk…

---

## [Pretty sure this is a severe compiler bug breaking typeof via just a simple parametrized type](https://discourse.julialang.org/t/pretty-sure-this-is-a-severe-compiler-bug-breaking-typeof-via-just-a-simple-parametrized-type/139145)

<div class="topic-metadata">

**Author:** [@skraemer](https://discourse.julialang.org/u/skraemer)\
**Replies:** 17\
**Last updated:** [September 6, 2026, 1:44pm UTC](https://discourse.julialang.org/t/pretty-sure-this-is-a-severe-compiler-bug-breaking-typeof-via-just-a-simple-parametrized-type/139145 "2026-09-06T13:44:47Z")

</div>

The following short code yields an incorrect false (in both v1.12.6/7) from a typeof call, or respectively, typeof(x) changes during runtime even though x does not. Short version struct PT{X} field::X PT(x::X)…

---

## [Security of Julia, since possible to change the compiler at runtime](https://discourse.julialang.org/t/security-of-julia-since-possible-to-change-the-compiler-at-runtime/139199)

<div class="topic-metadata">

**Author:** [@Palli](https://discourse.julialang.org/u/Palli)\
**Replies:** 3\
**Last updated:** [September 4, 2026, 1:29pm UTC](https://discourse.julialang.org/t/security-of-julia-since-possible-to-change-the-compiler-at-runtime/139199 "2026-09-04T13:29:00Z")

</div>

Continuing the discussion from This month in Julia World - 2026-08: Slide 48 Not too surprising. If you have access to the compiler (or infrastructure), then you can change the generated code: We can already change …

---

## [Why does base not include Float128?](https://discourse.julialang.org/t/why-does-base-not-include-float128/139092)

<div class="topic-metadata">

**Author:** [@rokke](https://discourse.julialang.org/u/rokke)\
**Replies:** 3\
**Last updated:** [August 29, 2026, 12:38am UTC](https://discourse.julialang.org/t/why-does-base-not-include-float128/139092 "2026-08-29T00:38:55Z")

</div>

I always thought it was weird that Base supports Float16 but doesn’t include Float128, even though IEE754 considers quads a basic format, while half is just an interchange format: the other benefit of including 128 in…

---

## [Precompilation and trimming a discrete event simulator for communication networks](https://discourse.julialang.org/t/precompilation-and-trimming-a-discrete-event-simulator-for-communication-networks/139010)

<div class="topic-metadata">

**Author:** [@melevy](https://discourse.julialang.org/u/melevy)\
**Replies:** 7\
**Last updated:** [August 24, 2026, 9:46pm UTC](https://discourse.julialang.org/t/precompilation-and-trimming-a-discrete-event-simulator-for-communication-networks/139010 "2026-08-24T21:46:47Z")

</div>

Hi! I’m new here and maybe I’m not doing it the right way, if so I’m sorry for my ignorance. So I’m interested in precompiling and trimming a Julia program to decrease the startup time and avoid compilation during exec…

---

## [Manual control of overloading existing methods](https://discourse.julialang.org/t/manual-control-of-overloading-existing-methods/133836)

<div class="topic-metadata">

**Author:** [@frankwswang](https://discourse.julialang.org/u/frankwswang)\
**Replies:** 19\
**Last updated:** [August 15, 2026, 5:19pm UTC](https://discourse.julialang.org/t/manual-control-of-overloading-existing-methods/133836 "2026-08-15T17:19:25Z")

</div>

I am curious to know how much people want to have a feature/mechanism in Julia to manually control function overloading. Specifically, to disallow overloading already defined methods when intended. One direct motivation…

---

## [Pkg.resolve() fails](https://discourse.julialang.org/t/pkg-resolve-fails/138702)

<div class="topic-metadata">

**Author:** [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Replies:** 10\
**Last updated:** [August 10, 2026, 9:02am UTC](https://discourse.julialang.org/t/pkg-resolve-fails/138702 "2026-08-10T09:02:47Z")

</div>

It is not clear to me how resolve is supposed to work. Scenario: I have a package A it depends on package B There is a new version of package B In package A I increase the compat entry of package B to the new versio…

---

## [Is the development of 1.13 stuck?](https://discourse.julialang.org/t/is-the-development-of-1-13-stuck/138693)

<div class="topic-metadata">

**Author:** [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Replies:** 4\
**Last updated:** [August 8, 2026, 8:58pm UTC](https://discourse.julialang.org/t/is-the-development-of-1-13-stuck/138693 "2026-08-08T20:58:09Z")

</div>

The same three open issues for more than two weeks: OK, it is summer, and everyone is on holiday. But I thought in the US you don’t have as many holidays as in Europe. Are there any blockers?

---

## [Up requirement from 2.6.24+ to Linux 4.18 - for restartable sequences?](https://discourse.julialang.org/t/up-requirement-from-2-6-24-to-linux-4-18-for-restartable-sequences/138685)

<div class="topic-metadata">

**Author:** [@Palli](https://discourse.julialang.org/u/Palli)\
**Replies:** 0\
**Last updated:** [August 8, 2026, 2:09pm UTC](https://discourse.julialang.org/t/up-requirement-from-2-6-24-to-linux-4-18-for-restartable-sequences/138685 "2026-08-08T14:09:51Z")

</div>

Linux kernel 4.18 was officially released on August 12, 2018, already 8 years old EDIT: that was 4.8: October 2, 2016, soon a decade old, but the 4.18 Linux kernel, and older, are EOLed anyway already. After this year 6.…

---

## [Phasing out Julia support for 32-bit Windows](https://discourse.julialang.org/t/phasing-out-julia-support-for-32-bit-windows/137912)

<div class="topic-metadata">

**Author:** [@dilumaluthge](https://discourse.julialang.org/u/dilumaluthge)\
**Replies:** 3\
**Last updated:** [August 6, 2026, 12:57am UTC](https://discourse.julialang.org/t/phasing-out-julia-support-for-32-bit-windows/137912 "2026-08-06T00:57:17Z")

</div>

Currently, we use the msys2 toolchain to build Julia for Windows. Unfortunately, msys2 has stopped supporting 32-bit Windows, and they are in the process of removing all of their 32-bit Windows packages. This means that …

---

## [Design of register\_kinds! in JuliaSyntax.jl/src/julia/kinds.jl](https://discourse.julialang.org/t/design-of-register-kinds-in-juliasyntax-jl-src-julia-kinds-jl/138567)

<div class="topic-metadata">

**Author:** [@liinyun](https://discourse.julialang.org/u/liinyun)\
**Replies:** 2\
**Last updated:** [August 2, 2026, 9:20pm UTC](https://discourse.julialang.org/t/design-of-register-kinds-in-juliasyntax-jl-src-julia-kinds-jl/138567 "2026-08-02T21:20:16Z")

</div>

“”" register\_kinds!(mod, module\_id, names) Register custom Kinds with the given names, belonging to a module mod. names is an array of arbitrary strings. In order for kinds to be represented by a small number of bits…

---

## [Compiler/Optimizer Type Inference Bug with Recursive, Nested Types (in v1.12.6)](https://discourse.julialang.org/t/compiler-optimizer-type-inference-bug-with-recursive-nested-types-in-v1-12-6/138526)

<div class="topic-metadata">

**Author:** [@skraemer](https://discourse.julialang.org/u/skraemer)\
**Replies:** 5\
**Last updated:** [July 30, 2026, 1:30pm UTC](https://discourse.julialang.org/t/compiler-optimizer-type-inference-bug-with-recursive-nested-types-in-v1-12-6/138526 "2026-07-30T13:30:44Z")

</div>

The following two examples each produce supposedly impossible results or crash the repl entirely, even though the code is pure Julia. I did not manage to reduce the examples further, at least not by simplifying single li…

---

## [RFC PR: Add \`fmap\` as a \`map\` alternative with a better specification](https://discourse.julialang.org/t/rfc-pr-add-fmap-as-a-map-alternative-with-a-better-specification/138530)

<div class="topic-metadata">

**Author:** [@CameronBieganek](https://discourse.julialang.org/u/CameronBieganek)\
**Replies:** 0\
**Last updated:** [July 29, 2026, 6:53pm UTC](https://discourse.julialang.org/t/rfc-pr-add-fmap-as-a-map-alternative-with-a-better-specification/138530 "2026-07-29T18:53:08Z")

</div>

I’m looking for feedback on the following RFC PR, which proposes a new fmap function with a stricter API than that provided by map. If possible, please add your comments to the PR rather than here on Discourse.

---

## [Julia 1.9 on Intel Sapphire Rapid CPU doesn't work](https://discourse.julialang.org/t/julia-1-9-on-intel-sapphire-rapid-cpu-doesnt-work/118444)

<div class="topic-metadata">

**Author:** [@JohnnyChen94](https://discourse.julialang.org/u/JohnnyChen94)\
**Replies:** 6\
**Last updated:** [July 25, 2026, 4:13pm UTC](https://discourse.julialang.org/t/julia-1-9-on-intel-sapphire-rapid-cpu-doesnt-work/118444 "2026-07-25T16:13:52Z")

</div>

We recently bought a new server with the latest Intel CPU (Sapphire Rapids), yet we just realized that it doesn’t work for Julia 1.9.x versions. Here’s a brief report: julia\> versioninfo() Julia Version 1.9.3 Commit bed…

---

## [Yet another question about Julia's high RAM usage](https://discourse.julialang.org/t/yet-another-question-about-julias-high-ram-usage/130693)

<div class="topic-metadata">

**Author:** [@Benny](https://discourse.julialang.org/u/Benny)\
**Replies:** 26\
**Last updated:** [July 24, 2026, 5:44pm UTC](https://discourse.julialang.org/t/yet-another-question-about-julias-high-ram-usage/130693 "2026-07-24T17:44:29Z")

</div>

Summary of my current understanding: Julia has a relatively high memory footprint for an interactive language for various reasons: 1) an OpenBLAS implementation that preallocates buffers to accelerate matrix multiplicati…

---

## [Ozaki scheme, maybe support FP128? - DGEMM without FP64 Arithmetic – Using FP64 Emulation and FP8 Tensor Cores with Ozaki Scheme](https://discourse.julialang.org/t/ozaki-scheme-maybe-support-fp128-dgemm-without-fp64-arithmetic-using-fp64-emulation-and-fp8-tensor-cores-with-ozaki-scheme/138382)

<div class="topic-metadata">

**Author:** [@Palli](https://discourse.julialang.org/u/Palli)\
**Replies:** 2\
**Last updated:** [July 22, 2026, 12:26am UTC](https://discourse.julialang.org/t/ozaki-scheme-maybe-support-fp128-dgemm-without-fp64-arithmetic-using-fp64-emulation-and-fp8-tensor-cores-with-ozaki-scheme/138382 "2026-07-22T00:26:18Z")

</div>

This scheme was new to me: https://arxiv.org/pdf/2508.00441 It’s about GPUs. Got me thinking maybe this would also work for FP128, on CPUs (or GPUs). \[EDIT: has been done, for matrices, see my follow-up post.\] It does…

---

## [What is \`outputting sysimage file\` actually doing?](https://discourse.julialang.org/t/what-is-outputting-sysimage-file-actually-doing/138364)

<div class="topic-metadata">

**Author:** [@rokke](https://discourse.julialang.org/u/rokke)\
**Replies:** 3\
**Last updated:** [July 20, 2026, 3:05pm UTC](https://discourse.julialang.org/t/what-is-outputting-sysimage-file-actually-doing/138364 "2026-07-20T15:05:51Z")

</div>

it strikes me as odd that the longest step of building julia (like, from source with make) is ‘outputting’, which I think of as just writing something already in memory to disk. this step is pretty consistently the longe…

---

## [\`SparseArray\` types](https://discourse.julialang.org/t/sparsearray-types/138210)

<div class="topic-metadata">

**Author:** [@rokke](https://discourse.julialang.org/u/rokke)\
**Replies:** 5\
**Last updated:** [July 16, 2026, 6:56am UTC](https://discourse.julialang.org/t/sparsearray-types/138210 "2026-07-16T06:56:38Z")

</div>

SparseMatrixCSC currently has a documented type definition of: SparseMatrixCSC{Tv,Ti\<:Integer} \<: AbstractSparseMatrixCSC{Tv,Ti} but, if you try to actually make one, you will find in practice that it only has exactly …

---

## [Julia as a backend language in R, Python, and browsers (WASM)](https://discourse.julialang.org/t/julia-as-a-backend-language-in-r-python-and-browsers-wasm/138155)

<div class="topic-metadata">

**Author:** [@jbytecode](https://discourse.julialang.org/u/jbytecode)\
**Replies:** 2\
**Last updated:** [July 13, 2026, 10:56am UTC](https://discourse.julialang.org/t/julia-as-a-backend-language-in-r-python-and-browsers-wasm/138155 "2026-07-13T10:56:29Z")

</div>

Hello everyone, I hope I am not duplicating another open thread with these questions. (I have older posts about Juliac and lowering Julia code but I think this post has some new extensions after 1-2 years). I am writin…

---

## [Sum types as sealed abstract types](https://discourse.julialang.org/t/sum-types-as-sealed-abstract-types/138065)

<div class="topic-metadata">

**Author:** [@CameronBieganek](https://discourse.julialang.org/u/CameronBieganek)\
**Replies:** 9\
**Last updated:** [July 12, 2026, 4:57pm UTC](https://discourse.julialang.org/t/sum-types-as-sealed-abstract-types/138065 "2026-07-12T16:57:04Z")

</div>

In the various discussions about sum types in Julia, I don’t recall seeing any discussion of how sum types would interact with the existing type system. So, here’s one idea that comes to mind: Perhaps a sum type could b…

[Next page](https://discourse.julialang.org/c/dev/5.md?page=1)
