# Internals & Design

**URL:** https://discourse.julialang.org/c/dev/5.md?page=2

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

**Page:** 3

---

## [Designing a Paths Julep](https://discourse.julialang.org/t/designing-a-paths-julep/124335)

<div class="topic-metadata">

**Author:** [@tecosaur](https://discourse.julialang.org/u/tecosaur)\
**Replies:** 198\
**Last updated:** [February 8, 2026, 4:36pm UTC](https://discourse.julialang.org/t/designing-a-paths-julep/124335 "2026-02-08T16:36:51Z")

</div>

Prompted by a gripe I made on Slack, thoughts I’ve had on paths have coalesed into the start of a Julep and a prototpye. At this stage, I’d love to get wider input on the idea and help shoring it up into a solid propo…

---

## [Union structs type tag memory layout](https://discourse.julialang.org/t/union-structs-type-tag-memory-layout/133816)

<div class="topic-metadata">

**Author:** [@PatrickHaecker](https://discourse.julialang.org/u/PatrickHaecker)\
**Replies:** 12\
**Last updated:** [February 1, 2026, 6:55am UTC](https://discourse.julialang.org/t/union-structs-type-tag-memory-layout/133816 "2026-02-01T06:55:16Z")

</div>

Structs containing isbits fields of type Union use the isbits Union structs optimization. I was surprised to learn that The type tag byte for a type’s Union field is stored directly after the field’s computed Union mem…

---

## [Pretty-printing small n-d arrays](https://discourse.julialang.org/t/pretty-printing-small-n-d-arrays/135200)

<div class="topic-metadata">

**Author:** [@rokke](https://discourse.julialang.org/u/rokke)\
**Replies:** 18\
**Last updated:** [January 28, 2026, 11:45pm UTC](https://discourse.julialang.org/t/pretty-printing-small-n-d-arrays/135200 "2026-01-28T23:45:53Z")

</div>

I haven’t really looked at anything yet; I figured this might be small enough to be a first contribution, but I first wanted to ask if it would be welcome before I spent a bunch of time on it. I really like the terminal…

---

## [Matrix padding](https://discourse.julialang.org/t/matrix-padding/135250)

<div class="topic-metadata">

**Author:** [@rokke](https://discourse.julialang.org/u/rokke)\
**Replies:** 6\
**Last updated:** [January 26, 2026, 12:37pm UTC](https://discourse.julialang.org/t/matrix-padding/135250 "2026-01-26T12:37:59Z")

</div>

ok, I started opening things up to look at doing Pretty-printing small n-d arrays, but I came across a interesting choice which I wanted to make sure wasn’t a deliberate design decision. the left and right padding are co…

---

## [Array comprehension is inconsistent, given the column-major property of julia](https://discourse.julialang.org/t/array-comprehension-is-inconsistent-given-the-column-major-property-of-julia/134946)

<div class="topic-metadata">

**Author:** [@WalterMadelim](https://discourse.julialang.org/u/WalterMadelim)\
**Replies:** 28\
**Last updated:** [January 18, 2026, 9:16am UTC](https://discourse.julialang.org/t/array-comprehension-is-inconsistent-given-the-column-major-property-of-julia/134946 "2026-01-18T09:16:34Z")

</div>

Related doc: Performance Tips · The Julia Language For a matrix julia\> x = \[1 2; 3 4\] 2×2 Matrix{Int64}: 1 2 3 4 The correct order of element is julia\> for e = x println(e) end 1 3 2 4 To exact…

---

## [Julia for microcontrollers (like Micropython)](https://discourse.julialang.org/t/julia-for-microcontrollers-like-micropython/15393)

<div class="topic-metadata">

**Author:** [@Parthasarathi\_S](https://discourse.julialang.org/u/Parthasarathi_S)\
**Replies:** 25\
**Last updated:** [January 17, 2026, 10:06am UTC](https://discourse.julialang.org/t/julia-for-microcontrollers-like-micropython/15393 "2026-01-17T10:06:40Z")

</div>

Dear Julia community members, I wish to develop a fork of Julia that can run on low memory low ram microcontrollers . Similar to Micropython (python for microcontrollers) Micropython website I’m working on low cost …

---

## [Can one set the memory effect of a function to \`?m\`?](https://discourse.julialang.org/t/can-one-set-the-memory-effect-of-a-function-to-m/135087)

<div class="topic-metadata">

**Author:** [@matthias314](https://discourse.julialang.org/u/matthias314)\
**Replies:** 0\
**Last updated:** [January 15, 2026, 9:55pm UTC](https://discourse.julialang.org/t/can-one-set-the-memory-effect-of-a-function-to-m/135087 "2026-01-15T21:55:06Z")

</div>

The docstring for the (non-public) function Base.infer\_effects lists among other things inaccessiblememonly (m): - +m (green): ALWAYS\_TRUE - -m (red): ALWAYS\_FALSE - ?m (yellow): INACCESSIBLEMEM\_OR\_ARGMEMONLY The …

---

## [Multi-dimensional indices are incompatible with \`end\` index](https://discourse.julialang.org/t/multi-dimensional-indices-are-incompatible-with-end-index/134886)

<div class="topic-metadata">

**Author:** [@aryavorskiy](https://discourse.julialang.org/u/aryavorskiy)\
**Replies:** 1\
**Last updated:** [January 5, 2026, 2:14pm UTC](https://discourse.julialang.org/t/multi-dimensional-indices-are-incompatible-with-end-index/134886 "2026-01-05T14:14:41Z")

</div>

Julia allows to access the last index in the axis of an array using the end keyword by lowering it to lastindex in a rather predictable way: A = rand(5, 5, 2) A\[1:end - 1, end ÷ 2, :\] # lowers to A\[1:lastindex(A, 1) - 1…

---

## [What a strict mode in julia would look like?](https://discourse.julialang.org/t/what-a-strict-mode-in-julia-would-look-like/125806)

<div class="topic-metadata">

**Author:** [@yolhan\_mannes](https://discourse.julialang.org/u/yolhan_mannes)\
**Replies:** 10\
**Last updated:** [December 29, 2025, 9:09pm UTC](https://discourse.julialang.org/t/what-a-strict-mode-in-julia-would-look-like/125806 "2025-12-29T21:09:28Z")

</div>

Hello everyone, I came across this video: Newcomers experiences: Why do we need a stricter Julia mode🧐 | Alberto Vieyra Salas, and I think this topic deserves further discussion. What would a strict mode in Julia look…

---

## [Autocompletion and function/method discoverability](https://discourse.julialang.org/t/autocompletion-and-function-method-discoverability/131263)

<div class="topic-metadata">

**Author:** [@juliohm](https://discourse.julialang.org/u/juliohm)\
**Replies:** 15\
**Last updated:** [December 26, 2025, 4:10am UTC](https://discourse.julialang.org/t/autocompletion-and-function-method-discoverability/131263 "2025-12-26T04:10:40Z")

</div>

Object-oriented languages make use of the obj.fun syntax for function calls. If the user types obj. and then presses TAB, he/she can immedietly learn about the available functions. The Julia story is more challenging, b…

---

## [Does writing in parallel block the whole process?](https://discourse.julialang.org/t/does-writing-in-parallel-block-the-whole-process/134620)

<div class="topic-metadata">

**Author:** [@NonDairyNeutrino](https://discourse.julialang.org/u/NonDairyNeutrino)\
**Replies:** 4\
**Last updated:** [December 19, 2025, 8:37pm UTC](https://discourse.julialang.org/t/does-writing-in-parallel-block-the-whole-process/134620 "2025-12-19T20:37:43Z")

</div>

Say I have a large piece of data data that I want to write or serialize (for speed) to a file file with serialize("path/to/file", data). Done naively, this will block the rest of the program from executing. So it’s simp…

---

## [Add registry from git-tree-sha1 for deterministic Docker builds](https://discourse.julialang.org/t/add-registry-from-git-tree-sha1-for-deterministic-docker-builds/134512)

<div class="topic-metadata">

**Author:** [@hhaensel](https://discourse.julialang.org/u/hhaensel)\
**Replies:** 2\
**Last updated:** [December 12, 2025, 11:37am UTC](https://discourse.julialang.org/t/add-registry-from-git-tree-sha1-for-deterministic-docker-builds/134512 "2025-12-12T11:37:04Z")

</div>

These days we read a lot about malicious code being introduced to Github. I am running many julia projects in docker containers, where I want to make sure that the build is done with the same package versions as on my d…

---

## [World Age for beginners: one way to compile a dynamic language](https://discourse.julialang.org/t/world-age-for-beginners-one-way-to-compile-a-dynamic-language/134402)

<div class="topic-metadata">

**Author:** [@Benny](https://discourse.julialang.org/u/Benny)\
**Replies:** 2\
**Last updated:** [December 6, 2025, 10:01pm UTC](https://discourse.julialang.org/t/world-age-for-beginners-one-way-to-compile-a-dynamic-language/134402 "2025-12-06T22:01:10Z")

</div>

0. Preface (skippable) The Manual tries to describe the language in a more accessible way, but I’ve felt for a while that world age was unfortunately avoided. In fact, the 1.12 documentation says as much1: World age is…

---

## [JuliaC feature request: strip off libuv when there's no IO](https://discourse.julialang.org/t/juliac-feature-request-strip-off-libuv-when-theres-no-io/134043)

<div class="topic-metadata">

**Author:** [@greatpet](https://discourse.julialang.org/u/greatpet)\
**Replies:** 4\
**Last updated:** [November 22, 2025, 12:43pm UTC](https://discourse.julialang.org/t/juliac-feature-request-strip-off-libuv-when-theres-no-io/134043 "2025-11-22T12:43:16Z")

</div>

Using a shared libraries compiled by JuliaC seems to cause unexpected interactions with the IO of a host program, even when the shared library is purely numerical and does not perform IO. I think this is caused by Juila’…

---

## [Future and e.g. Future.randjump](https://discourse.julialang.org/t/future-and-e-g-future-randjump/134015)

<div class="topic-metadata">

**Author:** [@Palli](https://discourse.julialang.org/u/Palli)\
**Replies:** 3\
**Last updated:** [November 21, 2025, 2:45pm UTC](https://discourse.julialang.org/t/future-and-e-g-future-randjump/134015 "2025-11-21T14:45:15Z")

</div>

help?\> Future search: Future The Future module implements future behavior of already existing functions, which will replace the current version in a future release of Julia. \[When?! And this is a rather cryptic sente…

---

## [Is the main task always sticky?](https://discourse.julialang.org/t/is-the-main-task-always-sticky/133892)

<div class="topic-metadata">

**Author:** [@cjdoris](https://discourse.julialang.org/u/cjdoris)\
**Replies:** 8\
**Last updated:** [November 20, 2025, 4:39pm UTC](https://discourse.julialang.org/t/is-the-main-task-always-sticky/133892 "2025-11-20T16:39:42Z")

</div>

$ julia -q julia\> current\_task().sticky true It appears to currently be true, but is it always true that the main task is sticky, and will it stay true in future Julia versions? Edit: I’m not asking because I view this…

---

## [Sticky Task Virality](https://discourse.julialang.org/t/sticky-task-virality/134009)

<div class="topic-metadata">

**Author:** [@csvance](https://discourse.julialang.org/u/csvance)\
**Replies:** 0\
**Last updated:** [November 20, 2025, 2:36pm UTC](https://discourse.julialang.org/t/sticky-task-virality/134009 "2025-11-20T14:36:14Z")

</div>

I just watched the JuliaCon scheduler talk https://youtu.be/FC4HyJXyvP0?si=LcMYJLlIKAqnvqQG&t=341 and it was mentioned that the sticky bit can spread to other tasks when using locks. With Julia 1.12 I tried to have a no…

---

## [Cursor movement package](https://discourse.julialang.org/t/cursor-movement-package/133902)

<div class="topic-metadata">

**Author:** [@TheLateKronos](https://discourse.julialang.org/u/TheLateKronos)\
**Replies:** 1\
**Last updated:** [November 15, 2025, 5:59pm UTC](https://discourse.julialang.org/t/cursor-movement-package/133902 "2025-11-15T17:59:29Z")

</div>

A while back I got really into making a program with a terminal based UI, and therefore wanted some solid foundational building blocks for working with the terminal. Moving the cursor is the first, saving and restoring t…

---

## [Startup time of 1000 packages – 53% slower in Julia 1.12 vs 1.10](https://discourse.julialang.org/t/startup-time-of-1000-packages-53-slower-in-julia-1-12-vs-1-10/128343)

<div class="topic-metadata">

**Author:** [@fonsp](https://discourse.julialang.org/u/fonsp)\
**Replies:** 81\
**Last updated:** [November 14, 2025, 7:28pm UTC](https://discourse.julialang.org/t/startup-time-of-1000-packages-53-slower-in-julia-1-12-vs-1-10/128343 "2025-11-14T19:28:21Z")

</div>

Startup time of 1000 packages I think startup time is a big deal for Julia, especially for new users. If it takes a long time to load a package, it makes Julia look bad. Recently, Julia 1.12 beta was released, and I not…

---

## [Julia Base module make workflow](https://discourse.julialang.org/t/julia-base-module-make-workflow/133763)

<div class="topic-metadata">

**Author:** [@JimCircadian](https://discourse.julialang.org/u/JimCircadian)\
**Replies:** 4\
**Last updated:** [November 9, 2025, 6:30pm UTC](https://discourse.julialang.org/t/julia-base-module-make-workflow/133763 "2025-11-09T18:30:11Z")

</div>

Hello I’m probably missing something extremely obvious, but is there a speedier way of hacking on the contents of base/ in the source tree? Each time I change something, running make again seems to rebuild the sysimage …

---

## [Building Julia on Mac: python not found](https://discourse.julialang.org/t/building-julia-on-mac-python-not-found/133731)

<div class="topic-metadata">

**Author:** [@Eben60](https://discourse.julialang.org/u/Eben60)\
**Replies:** 3\
**Last updated:** [November 8, 2025, 9:46am UTC](https://discourse.julialang.org/t/building-julia-on-mac-python-not-found/133731 "2025-11-08T09:46:33Z")

</div>

Running make results in xcode-select: Failed to locate 'python', requesting installation of command line developer tools. command line developer tools had been installed, but on getting prompt I downloaded it (again) t…

---

## [\`in\` as variable name leads to calling of variable](https://discourse.julialang.org/t/in-as-variable-name-leads-to-calling-of-variable/133733)

<div class="topic-metadata">

**Author:** [@ncxst](https://discourse.julialang.org/u/ncxst)\
**Replies:** 1\
**Last updated:** [November 7, 2025, 1:09pm UTC](https://discourse.julialang.org/t/in-as-variable-name-leads-to-calling-of-variable/133733 "2025-11-07T13:09:10Z")

</div>

I stumbled across code that uses in as a variable name, which confused me, so I tried to see when using keywords as variables breaks. First a few examples where everything is fine: julia\> f(in, out) = in + out f (generi…

---

## [A slightly more comprehensible \`Fix{N}\`](https://discourse.julialang.org/t/a-slightly-more-comprehensible-fix-n/133268)

<div class="topic-metadata">

**Author:** [@sgaure](https://discourse.julialang.org/u/sgaure)\
**Replies:** 14\
**Last updated:** [October 21, 2025, 8:28am UTC](https://discourse.julialang.org/t/a-slightly-more-comprehensible-fix-n/133268 "2025-10-21T08:28:31Z")

</div>

I had the pleasure to fix several variables with Base.Fix. Iterating with Fix{2}(Fix{5}(Fix{1}(...)))) isn’t very …er… ergonomic. I wrote a slightly different Fix which can take a tuple of positions as a parameter, so o…

---

## [PR and running Julia test](https://discourse.julialang.org/t/pr-and-running-julia-test/129931)

<div class="topic-metadata">

**Author:** [@gitboy16](https://discourse.julialang.org/u/gitboy16)\
**Replies:** 5\
**Last updated:** [October 21, 2025, 2:05am UTC](https://discourse.julialang.org/t/pr-and-running-julia-test/129931 "2025-10-21T02:05:47Z")

</div>

Hi, I am able to build Julia locally on my computer and I would eventually like to submit a PR to Julia. But before doing so I would like to add tests and make sure that these tests work. Can someone let me know how d…

---

## [Julia 1.13 feature freeze: Monday, October 27, 2025](https://discourse.julialang.org/t/julia-1-13-feature-freeze-monday-october-27-2025/133087)

<div class="topic-metadata">

**Author:** [@dilumaluthge](https://discourse.julialang.org/u/dilumaluthge)\
**Replies:** 2\
**Last updated:** [October 19, 2025, 6:20pm UTC](https://discourse.julialang.org/t/julia-1-13-feature-freeze-monday-october-27-2025/133087 "2025-10-19T18:20:10Z")

</div>

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

---

## [How do ScopedValues actually work?](https://discourse.julialang.org/t/how-do-scopedvalues-actually-work/133270)

<div class="topic-metadata">

**Author:** [@benninkrs](https://discourse.julialang.org/u/benninkrs)\
**Replies:** 3\
**Last updated:** [October 19, 2025, 6:00pm UTC](https://discourse.julialang.org/t/how-do-scopedvalues-actually-work/133270 "2025-10-19T18:00:47Z")

</div>

I understand that a ScopedValue is a key into Scope (a wrapper for a PersistentDict) that is accessible by Core.current\_scope(). I understand that @with creates a new Scope with the specified value. What I don’t unders…

---

## [Why no single argument \`filter!(f::Function)\` or \`Iterators.filter(f::Function)\`?](https://discourse.julialang.org/t/why-no-single-argument-filter-f-function-or-iterators-filter-f-function/131190)

<div class="topic-metadata">

**Author:** [@jlbosse](https://discourse.julialang.org/u/jlbosse)\
**Replies:** 20\
**Last updated:** [October 19, 2025, 10:40am UTC](https://discourse.julialang.org/t/why-no-single-argument-filter-f-function-or-iterators-filter-f-function/131190 "2025-10-19T10:40:36Z")

</div>

In the sprit of this question and this related question I was wondering why the single argument version of Base.filter(f) = Fix1(filter, f) exists, but the equivalent Base.filter!(f) and Iterators.filter(f) are missing. …

---

## [Why not an inverse operator to \`\`\`accumulate\`\`\`?](https://discourse.julialang.org/t/why-not-an-inverse-operator-to-accumulate/133264)

<div class="topic-metadata">

**Author:** [@atteson](https://discourse.julialang.org/u/atteson)\
**Replies:** 1\
**Last updated:** [October 18, 2025, 8:50pm UTC](https://discourse.julialang.org/t/why-not-an-inverse-operator-to-accumulate/133264 "2025-10-18T20:50:55Z")

</div>

There is a function which I find useful is the inverse of accumulate. I’ll call it contrast. Basically, contrast\`\` is to diffwhataccumulateis tocumsum\`\`\`. My implement (not necesaarily most efficient is: contrast( op, v…

---

## [How to find code that can be invalidated?](https://discourse.julialang.org/t/how-to-find-code-that-can-be-invalidated/133266)

<div class="topic-metadata">

**Author:** [@jules](https://discourse.julialang.org/u/jules)\
**Replies:** 0\
**Last updated:** [October 18, 2025, 6:39pm UTC](https://discourse.julialang.org/t/how-to-find-code-that-can-be-invalidated/133266 "2025-10-18T18:39:57Z")

</div>

When discussing TTFX and latency we often talk about which compiled methods of a package may have been invalidated once another package was loaded. But to find invalidations this way you have to have the “right invalidat…

---

## [Ccall of entry point name vs tuple of entry point and library](https://discourse.julialang.org/t/ccall-of-entry-point-name-vs-tuple-of-entry-point-and-library/133209)

<div class="topic-metadata">

**Author:** [@dmbates](https://discourse.julialang.org/u/dmbates)\
**Replies:** 3\
**Last updated:** [October 17, 2025, 7:30pm UTC](https://discourse.julialang.org/t/ccall-of-entry-point-name-vs-tuple-of-entry-point-and-library/133209 "2025-10-17T19:30:43Z")

</div>

As background, I have been working on modifying some of the RCall.jl code to isolate the boxing/unboxing code for R’s internal representations of objects. The idea is to write Julia code that can be compiled to a shared…

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

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