# Internals & Design

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

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

**Page:** 37

---

## [What does 'safepoint' in the GC/memory-management subsystem?](https://discourse.julialang.org/t/what-does-safepoint-in-the-gc-memory-management-subsystem/48721)

<div class="topic-metadata">

**Author:** [@KDr2](https://discourse.julialang.org/u/KDr2)\
**Replies:** 1\
**Last updated:** [October 21, 2020, 6:24am UTC](https://discourse.julialang.org/t/what-does-safepoint-in-the-gc-memory-management-subsystem/48721 "2020-10-21T06:24:12Z")

</div>

As I understood, a ‘safepoint’ is a point at which GC never occurs, is my understanding correct? Or I missed something important? Thanks.

---

## [What is special about Array, String, and Symbol?](https://discourse.julialang.org/t/what-is-special-about-array-string-and-symbol/48557)

<div class="topic-metadata">

**Author:** [@Benny](https://discourse.julialang.org/u/Benny)\
**Replies:** 19\
**Last updated:** [October 20, 2020, 1:42pm UTC](https://discourse.julialang.org/t/what-is-special-about-array-string-and-symbol/48557 "2020-10-20T13:42:52Z")

</div>

In the talk “What’s Bad in Julia” from JuliaCon 2019, one thing briefly mentioned from 4:40 to 5:13 is how users cannot define new types that use the memory layout tricks of Array, String, and Symbol, which makes these t…

---

## [Sandboxing embedded Julia](https://discourse.julialang.org/t/sandboxing-embedded-julia/48643)

<div class="topic-metadata">

**Author:** [@gmoromisato](https://discourse.julialang.org/u/gmoromisato)\
**Replies:** 6\
**Last updated:** [October 20, 2020, 5:56am UTC](https://discourse.julialang.org/t/sandboxing-embedded-julia/48643 "2020-10-20T05:56:54Z")

</div>

I’m writing a server that allows people to write and run Julia programs in the cloud (similar to Repl.it). What are some tips for sandboxing Julia so that programmers can’t trash the server? How do I redirect stdin/st…

---

## [Is it possible to define a default argument value based on the function's internal variables at the moment of return?](https://discourse.julialang.org/t/is-it-possible-to-define-a-default-argument-value-based-on-the-functions-internal-variables-at-the-moment-of-return/48409)

<div class="topic-metadata">

**Author:** [@kapple](https://discourse.julialang.org/u/kapple)\
**Replies:** 2\
**Last updated:** [October 15, 2020, 2:46pm UTC](https://discourse.julialang.org/t/is-it-possible-to-define-a-default-argument-value-based-on-the-functions-internal-variables-at-the-moment-of-return/48409 "2020-10-15T14:46:26Z")

</div>

Would it possible and appropriate for Julia to extend functionality of function definitions to include ones like this? function f(x, z = y^2) y = 2x return x + y + z end It would need to evaluate the default va…

---

## [Multiple Dispatch seems to be acting odd on AbstractSparseMatrixCSC](https://discourse.julialang.org/t/multiple-dispatch-seems-to-be-acting-odd-on-abstractsparsematrixcsc/40070)

<div class="topic-metadata">

**Author:** [@irhum](https://discourse.julialang.org/u/irhum)\
**Replies:** 1\
**Last updated:** [May 24, 2020, 12:22pm UTC](https://discourse.julialang.org/t/multiple-dispatch-seems-to-be-acting-odd-on-abstractsparsematrixcsc/40070 "2020-05-24T12:22:12Z")

</div>

If I recall correctly, multiple dispatch is supposed to select the most specific method available when calling a function. In this case, when the Array type is specified as AbstractSparseMatrix, the specialization based…

---

## [A couple questions on compiler latency and method invalidation](https://discourse.julialang.org/t/a-couple-questions-on-compiler-latency-and-method-invalidation/48260)

<div class="topic-metadata">

**Author:** [@Benny](https://discourse.julialang.org/u/Benny)\
**Replies:** 8\
**Last updated:** [October 15, 2020, 8:11am UTC](https://discourse.julialang.org/t/a-couple-questions-on-compiler-latency-and-method-invalidation/48260 "2020-10-15T08:11:38Z")

</div>

I’ve been looking up compiler latency in Julia after reading the blog post on decreasing method invalidation in version 1.6 \[Analyzing sources of compiler latency in Julia: method invalidations\]. I think I sort of got th…

---

## [Port Julia to AIX: How to do?](https://discourse.julialang.org/t/port-julia-to-aix-how-to-do/47868)

<div class="topic-metadata">

**Author:** [@trex58](https://discourse.julialang.org/u/trex58)\
**Replies:** 6\
**Last updated:** [October 14, 2020, 12:01pm UTC](https://discourse.julialang.org/t/port-julia-to-aix-how-to-do/47868 "2020-10-14T12:01:00Z")

</div>

Hi, My first question in Julia forum. I hope I’m using the correct category. I’m studying the port of Julia to AIX/PowerPC64. I’ve already searched for some information about: HowToPort, but I found nothing. Is there a…

---

## [Deferred-shape arrays](https://discourse.julialang.org/t/deferred-shape-arrays/48177)

<div class="topic-metadata">

**Author:** [@xanfus](https://discourse.julialang.org/u/xanfus)\
**Replies:** 11\
**Last updated:** [October 13, 2020, 3:58pm UTC](https://discourse.julialang.org/t/deferred-shape-arrays/48177 "2020-10-13T15:58:33Z")

</div>

Does Julia have deferred-shape array type like in Fortran? The feature can reduce clogging in main function by taking care of variable declarations somewhere else, if variables have parametric dimensions. https://www.ib…

---

## [DEBUG JULIA\_COPY\_STACKS on Windows](https://discourse.julialang.org/t/debug-julia-copy-stacks-on-windows/48180)

<div class="topic-metadata">

**Author:** [@mkitti](https://discourse.julialang.org/u/mkitti)\
**Replies:** 4\
**Last updated:** [October 12, 2020, 8:52pm UTC](https://discourse.julialang.org/t/debug-julia-copy-stacks-on-windows/48180 "2020-10-12T20:52:48Z")

</div>

Using JULIA\_COPY\_STACKS=1 causes Julia to crash for me in Windows. My interest with JULIA\_COPY\_STACKS is for developing multithreading capabilities with JavaCall.jl. Using JULIA\_COPY\_STACKS=1 works great on Linux but not…

---

## [Plans to provide Julia IR for deployment](https://discourse.julialang.org/t/plans-to-provide-julia-ir-for-deployment/47894)

<div class="topic-metadata">

**Author:** [@Impressium](https://discourse.julialang.org/u/Impressium)\
**Replies:** 6\
**Last updated:** [October 8, 2020, 1:56pm UTC](https://discourse.julialang.org/t/plans-to-provide-julia-ir-for-deployment/47894 "2020-10-08T13:56:48Z")

</div>

Hey dear community :slight\_smile: I know there is package compiler but I also know that it has it’s limitations. I know that other managed language like C# and Java ship some form of IR. Is something like this possible …

---

## [Feature request and Brainstorming , global let (issue #37187)](https://discourse.julialang.org/t/feature-request-and-brainstorming-global-let-issue-37187/47837)

<div class="topic-metadata">

**Author:** [@systems](https://discourse.julialang.org/u/systems)\
**Replies:** 20\
**Last updated:** [October 7, 2020, 5:02pm UTC](https://discourse.julialang.org/t/feature-request-and-brainstorming-global-let-issue-37187/47837 "2020-10-07T17:02:29Z")

</div>

This is a feature request proposal Brain Storming The proposal (initially) add construct global let to julia global let ... end Scripts (without) module declaration should assume being inside a global let ad…

---

## [Why don't we have: Base.broadcastable(task::Task) = Ref(task)?](https://discourse.julialang.org/t/why-dont-we-have-base-broadcastable-task-task-ref-task/47889)

<div class="topic-metadata">

**Author:** [@nielsls](https://discourse.julialang.org/u/nielsls)\
**Replies:** 2\
**Last updated:** [October 7, 2020, 6:47am UTC](https://discourse.julialang.org/t/why-dont-we-have-base-broadcastable-task-task-ref-task/47889 "2020-10-07T06:47:17Z")

</div>

Is there any reason why Task is not made broadcastable using: Base.broadcastable(task::Task) = Ref(task) Currently, the below line fails if task\_collection is a single Task (scalar): x = fetch.(task\_collection)

---

## [Update Cassandra/Scylla drivers](https://discourse.julialang.org/t/update-cassandra-scylla-drivers/3906)

<div class="topic-metadata">

**Author:** [@petterhg](https://discourse.julialang.org/u/petterhg)\
**Replies:** 5\
**Last updated:** [October 6, 2020, 12:33pm UTC](https://discourse.julialang.org/t/update-cassandra-scylla-drivers/3906 "2020-10-06T12:33:20Z")

</div>

Hi, Are there any plans on updating Cassandra drivers for Julia? I’ve seen some that has been written for v.0.4 that failed the tests. It would be really awesome to have!

---

## [Are there offline tools for snooping \*.ji files?](https://discourse.julialang.org/t/are-there-offline-tools-for-snooping-ji-files/46689)

<div class="topic-metadata">

**Author:** [@kimikage](https://discourse.julialang.org/u/kimikage)\
**Replies:** 4\
**Last updated:** [October 4, 2020, 8:40am UTC](https://discourse.julialang.org/t/are-there-offline-tools-for-snooping-ji-files/46689 "2020-10-04T08:40:49Z")

</div>

If I understand correctly, most of the loading of the \*.ji file is done by C code, and the parsing and applying phases are not (yet) well separated. This makes it difficult to analyze the contents of the \*.ji file withou…

---

## [Arm32/v7 armhf support discontinue](https://discourse.julialang.org/t/arm32-v7-armhf-support-discontinue/47399)

<div class="topic-metadata">

**Author:** [@rro](https://discourse.julialang.org/u/rro)\
**Replies:** 4\
**Last updated:** [September 28, 2020, 3:01pm UTC](https://discourse.julialang.org/t/arm32-v7-armhf-support-discontinue/47399 "2020-09-28T15:01:06Z")

</div>

Hi all, I use Julia on a Docker container which is running on Raspberry Pi 3. Till now I have cross-compiled our company application using Julia 1.4.1 and it was perfectly working if I specified the cpu target armv8-a. …

---

## [Threads.@threads to return results](https://discourse.julialang.org/t/threads-threads-to-return-results/47382)

<div class="topic-metadata">

**Author:** [@arabidopsis](https://discourse.julialang.org/u/arabidopsis)\
**Replies:** 12\
**Last updated:** [September 28, 2020, 8:36am UTC](https://discourse.julialang.org/t/threads-threads-to-return-results/47382 "2020-09-28T08:36:08Z")

</div>

This is a request for “enhancement” I guess. It would be nice if \`Threads.@threads returned the results. Something like: v1, v2, v3 = Threads.@threads for w in \[f1, f2, f3\] w() end

---

## [Why is Tuple Covariant / NamedTuple is not?](https://discourse.julialang.org/t/why-is-tuple-covariant-namedtuple-is-not/47236)

<div class="topic-metadata">

**Author:** [@o314](https://discourse.julialang.org/u/o314)\
**Replies:** 2\
**Last updated:** [September 25, 2020, 2:19am UTC](https://discourse.julialang.org/t/why-is-tuple-covariant-namedtuple-is-not/47236 "2020-09-25T02:19:33Z")

</div>

Hello everyone, Here is my situation when you work … WITH TUPLE A = (:a, (2,3)) B = (:b, (2,3,4)) using Test @test typeof(A) !== typeof(B) # but, you can catch them with vararg T = Tuple{Symbol, NTuple{N,Int} where…

---

## [Syntax Idea, automated argument composition](https://discourse.julialang.org/t/syntax-idea-automated-argument-composition/46130)

<div class="topic-metadata">

**Author:** [@dehann](https://discourse.julialang.org/u/dehann)\
**Replies:** 3\
**Last updated:** [September 24, 2020, 7:13pm UTC](https://discourse.julialang.org/t/syntax-idea-automated-argument-composition/46130 "2020-09-24T19:13:30Z")

</div>

Hi, I was wondering about a possible syntax extension “automated argument composition” and if something like this already exists in Julia’s dispatch? The closest I could find is function composition and negation but it’…

---

## [Add support for ' (thousands separator) for Printf](https://discourse.julialang.org/t/add-support-for-thousands-separator-for-printf/47030)

<div class="topic-metadata">

**Author:** [@ScottPJones](https://discourse.julialang.org/u/ScottPJones)\
**Replies:** 3\
**Last updated:** [September 22, 2020, 2:31pm UTC](https://discourse.julialang.org/t/add-support-for-thousands-separator-for-printf/47030 "2020-09-22T14:31:06Z")

</div>

Printf, even after the (very nice) rewrite, does not support the ' thousands separator flag (it is a GNU extension). Would a PR adding that be accepted? It’s very nice funcionality to have in practice.

---

## [How keyword arguments kwfuncs work](https://discourse.julialang.org/t/how-keyword-arguments-kwfuncs-work/46840)

<div class="topic-metadata">

**Author:** [@oxinabox](https://discourse.julialang.org/u/oxinabox)\
**Replies:** 1\
**Last updated:** [September 19, 2020, 7:52am UTC](https://discourse.julialang.org/t/how-keyword-arguments-kwfuncs-work/46840 "2020-09-19T07:52:10Z")

</div>

A collegue who was contributing to the internals of Zygote wanted to understand what was going on with https://github.com/FluxML/Zygote.jl/blob/ed366f32c0f520567526040d9f8acaf0d83613c3/src/compiler/chainrules.jl#L33 an…

---

## [Julia master error on update packages](https://discourse.julialang.org/t/julia-master-error-on-update-packages/46778)

<div class="topic-metadata">

**Author:** [@Colin\_Beckingham](https://discourse.julialang.org/u/Colin_Beckingham)\
**Replies:** 1\
**Last updated:** [September 17, 2020, 1:14pm UTC](https://discourse.julialang.org/t/julia-master-error-on-update-packages/46778 "2020-09-17T13:14:07Z")

</div>

With master Julia Version 1.6.0-DEV.943 Commit 205fcd7b16 (2020-09-17 03:00 UTC) Platform Info: OS: Linux (x86\_64-suse-linux) CPU: Intel(R) Core(TM) i5-4460 CPU @ 3.20GHz WORD\_SIZE: 64 LIBM: libopenlibm LLVM:…

---

## [Pkg: attack vectors](https://discourse.julialang.org/t/pkg-attack-vectors/18340)

<div class="topic-metadata">

**Author:** [@StefanKarpinski](https://discourse.julialang.org/u/StefanKarpinski)\
**Replies:** 25\
**Last updated:** [September 17, 2020, 9:19am UTC](https://discourse.julialang.org/t/pkg-attack-vectors/18340 "2020-09-17T09:19:23Z")

</div>

Pkg ecosystem: Learning from other's mistakes has gotten a bit long and wandering, as these discussions tend to. I’d like to have a very focused thread about attack vectors against the security of the package ecosystem. …

---

## [Tiered dispatch algebra](https://discourse.julialang.org/t/tiered-dispatch-algebra/45866)

<div class="topic-metadata">

**Author:** [@chakravala](https://discourse.julialang.org/u/chakravala)\
**Replies:** 13\
**Last updated:** [September 16, 2020, 9:17pm UTC](https://discourse.julialang.org/t/tiered-dispatch-algebra/45866 "2020-09-16T21:17:06Z")

</div>

In my experience, I have programmed a lot of algebra in the Julia language (created Dendriform.jl, Reduce.jl, Grassmann.jl). Here’s a question: In my experiences with algebra dispatch in Julia, the combinatorial explosi…

---

## [Union Types - Good or Bad?](https://discourse.julialang.org/t/union-types-good-or-bad/46255)

<div class="topic-metadata">

**Author:** [@seertaak](https://discourse.julialang.org/u/seertaak)\
**Replies:** 17\
**Last updated:** [September 9, 2020, 11:06pm UTC](https://discourse.julialang.org/t/union-types-good-or-bad/46255 "2020-09-09T23:06:37Z")

</div>

Recently, I watched Jeff Bezancon’s talk titled “What’s Bad About Julia”. It’s an excellent talk. Towards the end, someone asks the question: “How much better or worse would the world be without union?” I …

---

## [WeakRef semantics](https://discourse.julialang.org/t/weakref-semantics/46217)

<div class="topic-metadata">

**Author:** [@Christian\_Rorvik](https://discourse.julialang.org/u/Christian_Rorvik)\
**Replies:** 0\
**Last updated:** [September 7, 2020, 6:47pm UTC](https://discourse.julialang.org/t/weakref-semantics/46217 "2020-09-07T18:47:13Z")

</div>

I recently discovered WeakRef can reach its target post-finalization, which I think can lead to a lot of unintended bugs, and was curious where this design choice arose. Left a comment here, with more details. In brief,…

---

## [The speed of light is an integer. Why should we care?](https://discourse.julialang.org/t/the-speed-of-light-is-an-integer-why-should-we-care/40108)

<div class="topic-metadata">

**Author:** [@gevis](https://discourse.julialang.org/u/gevis)\
**Replies:** 78\
**Last updated:** [September 7, 2020, 3:55pm UTC](https://discourse.julialang.org/t/the-speed-of-light-is-an-integer-why-should-we-care/40108 "2020-09-07T15:55:35Z")

</div>

Since 1983, the speed of light is defined to be exactly equal to 299,792,458 meters per second. So, it seems natural to define it as an integer while doing some culculations with Julia, for example, to calculate a Planck…

---

## [Compile of master reports inconsistency?](https://discourse.julialang.org/t/compile-of-master-reports-inconsistency/46183)

<div class="topic-metadata">

**Author:** [@Colin\_Beckingham](https://discourse.julialang.org/u/Colin_Beckingham)\
**Replies:** 1\
**Last updated:** [September 7, 2020, 8:27am UTC](https://discourse.julialang.org/t/compile-of-master-reports-inconsistency/46183 "2020-09-07T08:27:04Z")

</div>

When compiling the last master (Commit eb2a801819) on Linux OpenSUSE Leap 15.2 I note the following info: ... JULIA usr/lib/julia/sys-o.a Generating precompile statements... 30/30 Executing precompile statements... 1506…

---

## [Multiple Dispatch with Unions, resolving ambiguities](https://discourse.julialang.org/t/multiple-dispatch-with-unions-resolving-ambiguities/46153)

<div class="topic-metadata">

**Author:** [@BioTurboNick](https://discourse.julialang.org/u/BioTurboNick)\
**Replies:** 1\
**Last updated:** [September 6, 2020, 6:18pm UTC](https://discourse.julialang.org/t/multiple-dispatch-with-unions-resolving-ambiguities/46153 "2020-09-06T18:18:50Z")

</div>

Let’s say we have these methods: struct Type1 end struct Type2 end foo(a::Type1, i) = 1 foo(a::Type2, i) = 2 foo(a::Type1, i::Tuple{}) = 3 foo(b::Type2, i::Tuple{}) = 4 Here, everything dispatches as you would expect.…

---

## [AutoDiff, handling of perturbation collision](https://discourse.julialang.org/t/autodiff-handling-of-perturbation-collision/45659)

<div class="topic-metadata">

**Author:** [@Philippe\_Maincon1](https://discourse.julialang.org/u/Philippe_Maincon1)\
**Replies:** 10\
**Last updated:** [September 6, 2020, 9:06am UTC](https://discourse.julialang.org/t/autodiff-handling-of-perturbation-collision/45659 "2020-09-06T09:06:05Z")

</div>

Hi everyone, I am developping my own flavour of automatic differentiation using Dual numbers. First - why would I ever do that when so much work has been put into ForwardDiff? ForwardDiff works by transforming functio…

---

## [Pipe operator quiz! Can you guess the result?](https://discourse.julialang.org/t/pipe-operator-quiz-can-you-guess-the-result/46054)

<div class="topic-metadata">

**Author:** [@sijo](https://discourse.julialang.org/u/sijo)\
**Replies:** 6\
**Last updated:** [September 4, 2020, 5:20pm UTC](https://discourse.julialang.org/t/pipe-operator-quiz-can-you-guess-the-result/46054 "2020-09-04T17:20:37Z")

</div>

Question 1 A=\[1,2,3\]; B=\[1,1,1\]; A.\>B |\> sum Question 2 1:2 .|\> x-\>x^2 |\> sum |\> inv Question 3 (warning: spoilers) The behaviors above seem just… evil! :wink:. Can we fix this? Changing the operator precedence is …

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

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