# Internals & Design

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

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

**Page:** 30

---

## [Is Dict shrinking feature planned?](https://discourse.julialang.org/t/is-dict-shrinking-feature-planned/68681)

<div class="topic-metadata">

**Author:** [@greatpet](https://discourse.julialang.org/u/greatpet)\
**Replies:** 10\
**Last updated:** [September 24, 2021, 4:18pm UTC](https://discourse.julialang.org/t/is-dict-shrinking-feature-planned/68681 "2021-09-24T16:18:15Z")

</div>

I’ve written a program in Julia involving heavy insertion and deletion of elements from many separate Dict containers. The memory usage gets bad, and I tracked down the cause (I believe) to the fact that Julia Dicts cann…

---

## [Add the default RNG as explicit type in Random?](https://discourse.julialang.org/t/add-the-default-rng-as-explicit-type-in-random/68551)

<div class="topic-metadata">

**Author:** [@dlakelan](https://discourse.julialang.org/u/dlakelan)\
**Replies:** 2\
**Last updated:** [September 21, 2021, 9:15pm UTC](https://discourse.julialang.org/t/add-the-default-rng-as-explicit-type-in-random/68551 "2021-09-21T21:15:02Z")

</div>

Apparently at some point recently the default RNG was changed from MersenneTwister to some xorshift based thing. But Random still only has MersenneTwister and RandomDevice as the available generators. It seems like it’d …

---

## [Live/ Auto update of Julia core](https://discourse.julialang.org/t/live-auto-update-of-julia-core/68434)

<div class="topic-metadata">

**Author:** [@Humphrey\_Lee](https://discourse.julialang.org/u/Humphrey_Lee)\
**Replies:** 2\
**Last updated:** [September 20, 2021, 9:42am UTC](https://discourse.julialang.org/t/live-auto-update-of-julia-core/68434 "2021-09-20T09:42:57Z")

</div>

Does Julia has auto-update capability, like Firefox auto-update? My current approach is manual, i.e. download and extract from julialang.org. It may not necessary be auto-update, but something that can be triggered withi…

---

## [Pkg security question](https://discourse.julialang.org/t/pkg-security-question/7949)

<div class="topic-metadata">

**Author:** [@Liso](https://discourse.julialang.org/u/Liso)\
**Replies:** 10\
**Last updated:** [May 17, 2018, 1:07pm UTC](https://discourse.julialang.org/t/pkg-security-question/7949 "2018-05-17T13:07:11Z")

</div>

Do we need to be afraid of something like malicious packages?

---

## [Better documentation for properties vs. fields](https://discourse.julialang.org/t/better-documentation-for-properties-vs-fields/68173)

<div class="topic-metadata">

**Author:** [@nandoconde](https://discourse.julialang.org/u/nandoconde)\
**Replies:** 7\
**Last updated:** [September 16, 2021, 9:38am UTC](https://discourse.julialang.org/t/better-documentation-for-properties-vs-fields/68173 "2021-09-16T09:38:57Z")

</div>

Background I found myself often using the quite uncomfortable fieldnames(typeof(x)) Searching for something unrelated, I found in an old thread this magic: propertynames(x) Which turns out to be a fantastic alternati…

---

## [Unicode multiplication × and minus − signs could be recognized by Julia as the are by Google](https://discourse.julialang.org/t/unicode-multiplication-x-and-minus-signs-could-be-recognized-by-julia-as-the-are-by-google/67955)

<div class="topic-metadata">

**Author:** [@oviedorodolfo](https://discourse.julialang.org/u/oviedorodolfo)\
**Replies:** 6\
**Last updated:** [September 9, 2021, 9:20pm UTC](https://discourse.julialang.org/t/unicode-multiplication-x-and-minus-signs-could-be-recognized-by-julia-as-the-are-by-google/67955 "2021-09-09T21:20:11Z")

</div>

If there is no speed penalty or any other kind of penalty, it would be nice that Unicode characters × (00D7) and − (2212) be recognized by Julia as multiplication and minus operators as they are by Google. Sometimes I c…

---

## [Should Julia raise errors for illegal return type annotation?](https://discourse.julialang.org/t/should-julia-raise-errors-for-illegal-return-type-annotation/67359)

<div class="topic-metadata">

**Author:** [@greatpet](https://discourse.julialang.org/u/greatpet)\
**Replies:** 6\
**Last updated:** [September 4, 2021, 8:16am UTC](https://discourse.julialang.org/t/should-julia-raise-errors-for-illegal-return-type-annotation/67359 "2021-09-04T08:16:47Z")

</div>

It’s strange that Julia gives you errors for illegal type annotations for function arguments, but not return values (until runtime). julia\> f(x)::1 = x # illegal return type, no error f (generic function with 1 method) …

---

## [Where \`add\_int\` is defined](https://discourse.julialang.org/t/where-add-int-is-defined/67278)

<div class="topic-metadata">

**Author:** [@Tomas\_Pevny](https://discourse.julialang.org/u/Tomas_Pevny)\
**Replies:** 10\
**Last updated:** [August 29, 2021, 4:52pm UTC](https://discourse.julialang.org/t/where-add-int-is-defined/67278 "2021-08-29T16:52:48Z")

</div>

I am curious how some basic operations are mapped to llvm instructions. I am looking on an addition of two integers, but I cannot find the source of julia, where add\_int is defined. I have located in boot.jl that mul\_int …

---

## [Feature request: REPL mode for debugging](https://discourse.julialang.org/t/feature-request-repl-mode-for-debugging/66926)

<div class="topic-metadata">

**Author:** [@mohamed82008](https://discourse.julialang.org/u/mohamed82008)\
**Replies:** 3\
**Last updated:** [August 28, 2021, 6:38pm UTC](https://discourse.julialang.org/t/feature-request-repl-mode-for-debugging/66926 "2021-08-28T18:38:48Z")

</div>

Wouldn’t it be great to have a REPL mode that’s optimised for debugging rather than ultimate performance? Or maybe it has some experimental features that can be turned on at the user’s own risk? Some features that might …

---

## [What is a :thunk expression head?](https://discourse.julialang.org/t/what-is-a-thunk-expression-head/66963)

<div class="topic-metadata">

**Author:** [@tbenst](https://discourse.julialang.org/u/tbenst)\
**Replies:** 1\
**Last updated:** [August 25, 2021, 5:27pm UTC](https://discourse.julialang.org/t/what-is-a-thunk-expression-head/66963 "2021-08-25T17:27:46Z")

</div>

I’ve been playing around with rewriting julia expressions such that they evaluate lazily, while supporting arbitrary syntax. This is really useful to me for statically constructing complex computational graphs where onl…

---

## [Inconsistency in interpreting and indexing with ranges of CartesianIndexes if a step is specified while constructing them](https://discourse.julialang.org/t/inconsistency-in-interpreting-and-indexing-with-ranges-of-cartesianindexes-if-a-step-is-specified-while-constructing-them/66828)

<div class="topic-metadata">

**Author:** [@jishnub](https://discourse.julialang.org/u/jishnub)\
**Replies:** 1\
**Last updated:** [August 23, 2021, 5:48am UTC](https://discourse.julialang.org/t/inconsistency-in-interpreting-and-indexing-with-ranges-of-cartesianindexes-if-a-step-is-specified-while-constructing-them/66828 "2021-08-23T05:48:47Z")

</div>

This is related to the issue https://github.com/JuliaLang/julia/issues/41959, but I didn’t want to derail the issue so thought I would continue the conversation on discourse. Fundamentally, CartesianIndices represent an…

---

## [Letting users change the default types](https://discourse.julialang.org/t/letting-users-change-the-default-types/66781)

<div class="topic-metadata">

**Author:** [@Lucas\_Queiroz](https://discourse.julialang.org/u/Lucas_Queiroz)\
**Replies:** 13\
**Last updated:** [August 23, 2021, 1:26am UTC](https://discourse.julialang.org/t/letting-users-change-the-default-types/66781 "2021-08-23T01:26:35Z")

</div>

It is common that programming languages have different types with similar or analogous functionality. For example, consider the integer types Int64, BigInt, or the float point types Float64, BigFloat. The reason for thi…

---

## [Design of a function which takes ownership of memory, and Julia memory functions (:jl\_malloc etc)](https://discourse.julialang.org/t/design-of-a-function-which-takes-ownership-of-memory-and-julia-memory-functions-jl-malloc-etc/66631)

<div class="topic-metadata">

**Author:** [@rayegun](https://discourse.julialang.org/u/rayegun)\
**Replies:** 1\
**Last updated:** [August 18, 2021, 10:41pm UTC](https://discourse.julialang.org/t/design-of-a-function-which-takes-ownership-of-memory-and-julia-memory-functions-jl-malloc-etc/66631 "2021-08-18T22:41:33Z")

</div>

I need to implement a function which takes a Julia array (vector is sufficient) and passes ownership to a C function from SuiteSparse:GraphBLAS. This will be a long post so please bear with me. I want to implement the f…

---

## [Faster \`min\`,\`max\` for \`Float64|32\`](https://discourse.julialang.org/t/faster-min-max-for-float64-32/45464)

<div class="topic-metadata">

**Author:** [@JeffreySarnoff](https://discourse.julialang.org/u/JeffreySarnoff)\
**Replies:** 38\
**Last updated:** [August 17, 2021, 12:25pm UTC](https://discourse.julialang.org/t/faster-min-max-for-float64-32/45464 "2021-08-17T12:25:14Z")

</div>

These realizations have simpler native code structure and benchmark faster than the current versions. These implementations may be IEEE754 compliant. const FastFloat = Union{Float32, Float64} function min(a::T, b::T) …

---

## [Rationale for kwargs as Iterators.Pairs](https://discourse.julialang.org/t/rationale-for-kwargs-as-iterators-pairs/66435)

<div class="topic-metadata">

**Author:** [@sijo](https://discourse.julialang.org/u/sijo)\
**Replies:** 4\
**Last updated:** [August 15, 2021, 3:17pm UTC](https://discourse.julialang.org/t/rationale-for-kwargs-as-iterators-pairs/66435 "2021-08-15T15:17:01Z")

</div>

I’m curious why the keyword arguments are available wrapped in Iterators.Pairs in the function body: function f(; kwargs...) # kwargs is a NamedTuple wrapped in an Iterators.Pairs end Is it legacy cruft from a time…

---

## [Task scheduling semantics](https://discourse.julialang.org/t/task-scheduling-semantics/62950)

<div class="topic-metadata">

**Author:** [@Christian\_Rorvik](https://discourse.julialang.org/u/Christian_Rorvik)\
**Replies:** 6\
**Last updated:** [August 12, 2021, 3:58pm UTC](https://discourse.julialang.org/t/task-scheduling-semantics/62950 "2021-08-12T15:58:08Z")

</div>

Reading through https://github.com/JuliaLang/julia/pull/40715 I believe task migration across threads is primed for 1.7 release. Very much looking forward to this, but also have some concerns around the clarity in semant…

---

## [Julia without libc (or bundled with non-glibc)](https://discourse.julialang.org/t/julia-without-libc-or-bundled-with-non-glibc/66238)

<div class="topic-metadata">

**Author:** [@Palli](https://discourse.julialang.org/u/Palli)\
**Replies:** 1\
**Last updated:** [August 12, 2021, 1:01am UTC](https://discourse.julialang.org/t/julia-without-libc-or-bundled-with-non-glibc/66238 "2021-08-12T01:01:58Z")

</div>

What does it take to run Julia without libc? Not fully baremetal, might be a later goal… Very few languages run without libc, e.g. glibc. Zig is an exception but also works with. One option is to bundle with another li…

---

## [What does "deoptimized" mean (in Cthulhu.jl)?](https://discourse.julialang.org/t/what-does-deoptimized-mean-in-cthulhu-jl/66048)

<div class="topic-metadata">

**Author:** [@goretkin](https://discourse.julialang.org/u/goretkin)\
**Replies:** 1\
**Last updated:** [August 10, 2021, 8:12am UTC](https://discourse.julialang.org/t/what-does-deoptimized-mean-in-cthulhu-jl/66048 "2021-08-10T08:12:16Z")

</div>

I don’t have a small MWE to generate it, but I occasionally see “deoptimized” in the menu of Cthulhu.jl, e.g. Advanced: dump \[P\]arams cache. %3 = invoke alias\_continue(…,…,…)::Any %4 = call #!(::Any)::Any %25…

---

## [Add a deepmap! function](https://discourse.julialang.org/t/add-a-deepmap-function/66083)

<div class="topic-metadata">

**Author:** [@rapasite](https://discourse.julialang.org/u/rapasite)\
**Replies:** 0\
**Last updated:** [August 9, 2021, 5:13pm UTC](https://discourse.julialang.org/t/add-a-deepmap-function/66083 "2021-08-09T17:13:11Z")

</div>

I created a pull request: https://github.com/JuliaLang/julia/pull/41845 see discussion here: https://discourse.julialang.org/t/about-mapping-functions-and-a-deepmap-function/51702/2

---

## [Implementation Details of Vector (or Array in General) and String](https://discourse.julialang.org/t/implementation-details-of-vector-or-array-in-general-and-string/66069)

<div class="topic-metadata">

**Author:** [@Paul\_Depping](https://discourse.julialang.org/u/Paul_Depping)\
**Replies:** 1\
**Last updated:** [August 9, 2021, 9:47am UTC](https://discourse.julialang.org/t/implementation-details-of-vector-or-array-in-general-and-string/66069 "2021-08-09T09:47:16Z")

</div>

Im currently searching through the Julia Code of both Vector/Array and String, but so far I haven’t found any details on how these are actually structured at a low level. From using Base.summarysize, I can guess that Ve…

---

## [Request information about GC implementation](https://discourse.julialang.org/t/request-information-about-gc-implementation/61492)

<div class="topic-metadata">

**Author:** [@KavinduZoysa](https://discourse.julialang.org/u/KavinduZoysa)\
**Replies:** 7\
**Last updated:** [August 9, 2021, 7:42am UTC](https://discourse.julialang.org/t/request-information-about-gc-implementation/61492 "2021-08-09T07:42:13Z")

</div>

Hi All, Could you please tell me, to implement the garbage collector do you use the LLVM GC framework support? Also I saw in some documentations there is a method called GC.gc() to manually call the gc. Could you pleas…

---

## [Making the \`\`\`BigFloat\`\`\` type parametric](https://discourse.julialang.org/t/making-the-bigfloat-type-parametric/66037)

<div class="topic-metadata">

**Author:** [@Lucas\_Queiroz](https://discourse.julialang.org/u/Lucas_Queiroz)\
**Replies:** 3\
**Last updated:** [August 8, 2021, 9:01pm UTC](https://discourse.julialang.org/t/making-the-bigfloat-type-parametric/66037 "2021-08-08T21:01:04Z")

</div>

Hello! I am someone who is very enthusiastic about Julia language, and here I would like to comment about the BigFloat type, as well as make a proposal. The precision of BigFloat depends on a global state, which you ca…

---

## [Compiler work priorities](https://discourse.julialang.org/t/compiler-work-priorities/17623)

<div class="topic-metadata">

**Author:** [@StefanKarpinski](https://discourse.julialang.org/u/StefanKarpinski)\
**Replies:** 122\
**Last updated:** [August 6, 2021, 6:01pm UTC](https://discourse.julialang.org/t/compiler-work-priorities/17623 "2021-08-06T18:01:07Z")

</div>

In response to I thought I might write a little post about the rough priorities of the compiler team: Correctness finding and fixing compiler and inference bugs Multithreading non-copying task stack switching (d…

---

## [Why does Base only have Merge Insertion and Quick sorting algorithms?](https://discourse.julialang.org/t/why-does-base-only-have-merge-insertion-and-quick-sorting-algorithms/65210)

<div class="topic-metadata">

**Author:** [@Lilith](https://discourse.julialang.org/u/Lilith)\
**Replies:** 16\
**Last updated:** [August 6, 2021, 12:07pm UTC](https://discourse.julialang.org/t/why-does-base-only-have-merge-insertion-and-quick-sorting-algorithms/65210 "2021-08-06T12:07:40Z")

</div>

base/sort.jl has the algorithms InsertionSort, MergeSort, and QuickSort, yet I hear folks talk about counting, radix, and TimSort builtin to julia (e.g. https://julia-ylwu.readthedocs.io/en/latest/stdlib/sort.html for Ti…

---

## [User survey and executables](https://discourse.julialang.org/t/user-survey-and-executables/65866)

<div class="topic-metadata">

**Author:** [@Ribeiro](https://discourse.julialang.org/u/Ribeiro)\
**Replies:** 3\
**Last updated:** [August 6, 2021, 6:57am UTC](https://discourse.julialang.org/t/user-survey-and-executables/65866 "2021-08-06T06:57:18Z")

</div>

Hi, It seems that based on the user survey being able to generate executables is one of the major issues for users. I see improvements for the other issues all the time (which is great), but I haven’t seen much on how …

---

## [Where can I follow compiler work progress?](https://discourse.julialang.org/t/where-can-i-follow-compiler-work-progress/65503)

<div class="topic-metadata">

**Author:** [@gitboy16](https://discourse.julialang.org/u/gitboy16)\
**Replies:** 21\
**Last updated:** [August 4, 2021, 1:54pm UTC](https://discourse.julialang.org/t/where-can-i-follow-compiler-work-progress/65503 "2021-08-04T13:54:36Z")

</div>

Hi, I would like to follow the progress done on Julia with regards to slow compilation time. I found the following list of work: Is there a web page where I can see the milestones being completed or how each steps in…

---

## [Pkg.jl telemetry should be opt-in](https://discourse.julialang.org/t/pkg-jl-telemetry-should-be-opt-in/42209)

<div class="topic-metadata">

**Author:** [@chrisvwx](https://discourse.julialang.org/u/chrisvwx)\
**Replies:** 396\
**Last updated:** [August 3, 2021, 3:39pm UTC](https://discourse.julialang.org/t/pkg-jl-telemetry-should-be-opt-in/42209 "2021-08-03T15:39:10Z")

</div>

New “Pkg & Storage protocols” and an accompanying centralized service to host packages have been merged and are present in Julia v1.5.0-rc1. The new Pkg sends telemetry consisting of a user-specific UUID and other inform…

---

## [Roadmap for a faster time-to-first-plot?](https://discourse.julialang.org/t/roadmap-for-a-faster-time-to-first-plot/22956)

<div class="topic-metadata">

**Author:** [@dlfivefifty](https://discourse.julialang.org/u/dlfivefifty)\
**Replies:** 250\
**Last updated:** [August 3, 2021, 12:07am UTC](https://discourse.julialang.org/t/roadmap-for-a-faster-time-to-first-plot/22956 "2021-08-03T00:07:07Z")

</div>

Having unintentionally “thrown shade” and performed a “kvetchfest” in another thread, let me first apologise. I’m very happy with the improvements made in Julia, especially the interpreter and debugger, and am very much …

---

## [Store Julia version in Manifest?](https://discourse.julialang.org/t/store-julia-version-in-manifest/65575)

<div class="topic-metadata">

**Author:** [@marius311](https://discourse.julialang.org/u/marius311)\
**Replies:** 2\
**Last updated:** [July 31, 2021, 2:23am UTC](https://discourse.julialang.org/t/store-julia-version-in-manifest/65575 "2021-07-31T02:23:44Z")

</div>

I wonder whether it would make sense to store the Julia version in the Manifest.toml as well? I’m aware one can put a Julia compat entry in the Project.toml, but my understanding is compat entries kind of serve a differe…

---

## [Why no \`last(::Generator)\`?](https://discourse.julialang.org/t/why-no-last-generator/65429)

<div class="topic-metadata">

**Author:** [@jlbosse](https://discourse.julialang.org/u/jlbosse)\
**Replies:** 3\
**Last updated:** [July 28, 2021, 1:14pm UTC](https://discourse.julialang.org/t/why-no-last-generator/65429 "2021-07-28T13:14:32Z")

</div>

Is there a good reason, why last is not implemented for Generators? I came up with function Base.last(iter::Base.Generator) x = last(iter.iter) return iter.f(i) end which does exactly what I would expect (and a…

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

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