# Internals & Design

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

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

**Page:** 24

---

## [I don't get an error messages after a task/ thread failed](https://discourse.julialang.org/t/i-dont-get-an-error-messages-after-a-task-thread-failed/36255)

<div class="topic-metadata">

**Author:** [@Impressium](https://discourse.julialang.org/u/Impressium)\
**Replies:** 20\
**Last updated:** [June 17, 2022, 12:41pm UTC](https://discourse.julialang.org/t/i-dont-get-an-error-messages-after-a-task-thread-failed/36255 "2022-06-17T12:41:18Z")

</div>

Shouldn’t I get notified it a inner task fails?

---

## [Is the julia compiler smart enough to treat \`x in (y,)\` the same as \`x == y\`?](https://discourse.julialang.org/t/is-the-julia-compiler-smart-enough-to-treat-x-in-y-the-same-as-x-y/82830)

<div class="topic-metadata">

**Author:** [@dylanxyz](https://discourse.julialang.org/u/dylanxyz)\
**Replies:** 2\
**Last updated:** [June 15, 2022, 7:36pm UTC](https://discourse.julialang.org/t/is-the-julia-compiler-smart-enough-to-treat-x-in-y-the-same-as-x-y/82830 "2022-06-15T19:36:47Z")

</div>

I’m just wondering if the julia compiler can treat a expression like x in (y,) the same as x == y, assuming that the right argument for in is always a 1-sized tuple. Moreover, what would be the performance difference bet…

---

## [Type management for NamedTuple's inconsistent or intended?](https://discourse.julialang.org/t/type-management-for-namedtuples-inconsistent-or-intended/82326)

<div class="topic-metadata">

**Author:** [@skraemer](https://discourse.julialang.org/u/skraemer)\
**Replies:** 4\
**Last updated:** [June 13, 2022, 3:50pm UTC](https://discourse.julialang.org/t/type-management-for-namedtuples-inconsistent-or-intended/82326 "2022-06-13T15:50:51Z")

</div>

Is there an inherent reason that type management of NamedTuple’s works differently from normal Tuple’s (in 1.7 at least)? In particular, is the behavior of the following second command (case 1.2) intended for something?…

---

## [Shouldn't \`findfirst\` propagate \`missing\` instead of erroring?](https://discourse.julialang.org/t/shouldnt-findfirst-propagate-missing-instead-of-erroring/82569)

<div class="topic-metadata">

**Author:** [@sylvaticus](https://discourse.julialang.org/u/sylvaticus)\
**Replies:** 8\
**Last updated:** [June 10, 2022, 7:24pm UTC](https://discourse.julialang.org/t/shouldnt-findfirst-propagate-missing-instead-of-erroring/82569 "2022-06-10T19:24:38Z")

</div>

The whole idea of missing vs nothing is that the first one should propagate but not erroring, but then: a = findfirst(x -\> x == 1, \[1,0,missing, 1\]) # out: 1, ok b = findfirst(x -\> x == 1, \[0,0,missing, 1\]) # out: error…

---

## [How to find an indirect dependency inside a module?](https://discourse.julialang.org/t/how-to-find-an-indirect-dependency-inside-a-module/82559)

<div class="topic-metadata">

**Author:** [@rikh](https://discourse.julialang.org/u/rikh)\
**Replies:** 8\
**Last updated:** [June 10, 2022, 12:08pm UTC](https://discourse.julialang.org/t/how-to-find-an-indirect-dependency-inside-a-module/82559 "2022-06-10T12:08:06Z")

</div>

Say that I have a package Foo with direct and indirect dependencies A \<- B \<- C (i.e., A loads B and B loads C) and my package looks like module Foo using A \[...\] end also say that I’m given a type T in C printed as…

---

## [Why does Tuple not have AbstractVector semantics?](https://discourse.julialang.org/t/why-does-tuple-not-have-abstractvector-semantics/82237)

<div class="topic-metadata">

**Author:** [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Replies:** 20\
**Last updated:** [June 9, 2022, 9:37pm UTC](https://discourse.julialang.org/t/why-does-tuple-not-have-abstractvector-semantics/82237 "2022-06-09T21:37:30Z")

</div>

This came up along time ago, and I’m puzzling through it today: https://github.com/SciML/DifferentialEquations.jl/issues/566 We cannot use Tuples for DifferentialEquations.jl initial conditions, but everyone keeps aski…

---

## [Sorting Policy](https://discourse.julialang.org/t/sorting-policy/71865)

<div class="topic-metadata">

**Author:** [@Lilith](https://discourse.julialang.org/u/Lilith)\
**Replies:** 10\
**Last updated:** [June 7, 2022, 2:29pm UTC](https://discourse.julialang.org/t/sorting-policy/71865 "2022-06-07T14:29:51Z")

</div>

What we have now: Right now Base/Sort.jl has a sorting policy implementation that is somewhat counterintuitive to me. I see three levels of function call, Keyword: sort(\[2,3,7\], by=x-\>floor(sqrt(x)), rev=true) with 1…

---

## [Failing builds on GitHub](https://discourse.julialang.org/t/failing-builds-on-github/82344)

<div class="topic-metadata">

**Author:** [@patrick](https://discourse.julialang.org/u/patrick)\
**Replies:** 2\
**Last updated:** [June 6, 2022, 9:30pm UTC](https://discourse.julialang.org/t/failing-builds-on-github/82344 "2022-06-06T21:30:00Z")

</div>

I noticed that the continuous integration builds are frequently failing on GitHub: master builds · julia-master. I flipped through the last 20 pages there and saw a significant percentage of failed builds. Further, even…

---

## [An example in the manual about conditions within comprehensions would be great](https://discourse.julialang.org/t/an-example-in-the-manual-about-conditions-within-comprehensions-would-be-great/82343)

<div class="topic-metadata">

**Author:** [@skraemer](https://discourse.julialang.org/u/skraemer)\
**Replies:** 4\
**Last updated:** [June 6, 2022, 8:48pm UTC](https://discourse.julialang.org/t/an-example-in-the-manual-about-conditions-within-comprehensions-would-be-great/82343 "2022-06-06T20:48:46Z")

</div>

I am not sure if this is the right place to mention this and if it works this way, but I am going to give it a try. I earlier read a post asking for improvements on the manual, and in that spirit this is meant with best …

---

## [Invalid redefinition error for const X = Vector{\<:A}](https://discourse.julialang.org/t/invalid-redefinition-error-for-const-x-vector-a/82316)

<div class="topic-metadata">

**Author:** [@skraemer](https://discourse.julialang.org/u/skraemer)\
**Replies:** 2\
**Last updated:** [June 6, 2022, 3:16pm UTC](https://discourse.julialang.org/t/invalid-redefinition-error-for-const-x-vector-a/82316 "2022-06-06T15:16:35Z")

</div>

When the following lines are run twice, the error invalid redefinition of constant X is thrown. The code is rather random, but it is the most minimal example I could come up with without removing the problem. In particul…

---

## [Intermittent type inference calls during method evaluation](https://discourse.julialang.org/t/intermittent-type-inference-calls-during-method-evaluation/82241)

<div class="topic-metadata">

**Author:** [@rikh](https://discourse.julialang.org/u/rikh)\
**Replies:** 2\
**Last updated:** [June 5, 2022, 10:41am UTC](https://discourse.julialang.org/t/intermittent-type-inference-calls-during-method-evaluation/82241 "2022-06-05T10:41:14Z")

</div>

When looking through a first call for a longish method via StatProfilerHTML.jl, I see some type inference happening during the method body evaluation: (This is in Julia 1.8-rc1.) I think that this is caused by the m…

---

## [Use of hash code in integer hashing](https://discourse.julialang.org/t/use-of-hash-code-in-integer-hashing/82068)

<div class="topic-metadata">

**Author:** [@BioTurboNick](https://discourse.julialang.org/u/BioTurboNick)\
**Replies:** 3\
**Last updated:** [June 2, 2022, 5:49pm UTC](https://discourse.julialang.org/t/use-of-hash-code-in-integer-hashing/82068 "2022-06-02T17:49:54Z")

</div>

I’m curious about the design of the integer hashing functions. Someone in my company coming from Python was annoyed to discover that the second argument to hash doesn’t produce very different results for incremented valu…

---

## [Inconsistant message in Julia 1.8-rc1](https://discourse.julialang.org/t/inconsistant-message-in-julia-1-8-rc1/82104)

<div class="topic-metadata">

**Author:** [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Replies:** 4\
**Last updated:** [June 2, 2022, 8:33am UTC](https://discourse.julialang.org/t/inconsistant-message-in-julia-1-8-rc1/82104 "2022-06-02T08:33:58Z")

</div>

When running tests of the package KiteControllers I see this message: Info Packages marked with ⌃ and ⌅ have new versions available, but those with ⌅ cannot be upgraded. To see why use \`status --outdated\` If I …

---

## [Are "inline assignments" inside loop predicates bad for type inference?](https://discourse.julialang.org/t/are-inline-assignments-inside-loop-predicates-bad-for-type-inference/81855)

<div class="topic-metadata">

**Author:** [@Krastanov](https://discourse.julialang.org/u/Krastanov)\
**Replies:** 4\
**Last updated:** [June 2, 2022, 12:55am UTC](https://discourse.julialang.org/t/are-inline-assignments-inside-loop-predicates-bad-for-type-inference/81855 "2022-06-02T00:55:36Z")

</div>

I was playing with JET and noticed that it does not like notation like while (i=f())!==nothing ... while it is perfectly happy with i=f(); while i!==nothing .... f is a function that returns Union{Int,Nothing}. It seems …

---

## [Proof of concept - Verifiability of scientific articles on blockchains using the Julia programming language](https://discourse.julialang.org/t/proof-of-concept-verifiability-of-scientific-articles-on-blockchains-using-the-julia-programming-language/82092)

<div class="topic-metadata">

**Author:** [@anon29721930](https://discourse.julialang.org/u/anon29721930)\
**Replies:** 2\
**Last updated:** [June 1, 2022, 11:14pm UTC](https://discourse.julialang.org/t/proof-of-concept-verifiability-of-scientific-articles-on-blockchains-using-the-julia-programming-language/82092 "2022-06-01T23:14:37Z")

</div>

Hi all! 1. What Is a Blockchain? A blockchain is a distributed database that is shared among the nodes of a computer network. As a database, a blockchain stores information electronically in digital format. Blockchains …

---

## [Package load time regressions in v1.8-beta3](https://discourse.julialang.org/t/package-load-time-regressions-in-v1-8-beta3/78875)

<div class="topic-metadata">

**Author:** [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Replies:** 21\
**Last updated:** [June 1, 2022, 1:44pm UTC](https://discourse.julialang.org/t/package-load-time-regressions-in-v1-8-beta3/78875 "2022-06-01T13:44:53Z")

</div>

Did a quick test of 1.8-beta3 in comparison to 1.7.2. Results: Package load time (@time using KiteModels): Julia 1.7.2 3.3 s Julia 1.8 beta 3.8 s Execution time of the function loop(): Julia 1.7.2 910 ns Julia…

---

## [Should a = \[0\]; a\[\[1,1\]\]+=\[1,2\] cause a==\[3\]?](https://discourse.julialang.org/t/should-a-0-a-1-1-1-2-cause-a-3/81669)

<div class="topic-metadata">

**Author:** [@skraemer](https://discourse.julialang.org/u/skraemer)\
**Replies:** 8\
**Last updated:** [May 25, 2022, 9:18pm UTC](https://discourse.julialang.org/t/should-a-0-a-1-1-1-2-cause-a-3/81669 "2022-05-25T21:18:45Z")

</div>

To repeat the title, should a = \[0\]; a\[\[1,1\]\]+=\[1,2\] update the array a such that a==\[3\]? This is not really a pressing issue, but changing to this kind of interpretation would be helpful in some cases when dealing with…

---

## [Why don't macros and modules also have backedges to allow "invalidating" dependent code?](https://discourse.julialang.org/t/why-dont-macros-and-modules-also-have-backedges-to-allow-invalidating-dependent-code/81408)

<div class="topic-metadata">

**Author:** [@Benny](https://discourse.julialang.org/u/Benny)\
**Replies:** 0\
**Last updated:** [May 21, 2022, 10:07am UTC](https://discourse.julialang.org/t/why-dont-macros-and-modules-also-have-backedges-to-allow-invalidating-dependent-code/81408 "2022-05-21T10:07:32Z")

</div>

Something cool that Julia does is method invalidation. When a method is compiled to a MethodInstance upon a call, assumptions like what methods are dispatched to and compile-time constants are baked in. When a function i…

---

## [The verbosity of dropdims…dims…dims (was: range improvement for 1.1)](https://discourse.julialang.org/t/the-verbosity-of-dropdims-dims-dims-was-range-improvement-for-1-1/18428)

<div class="topic-metadata">

**Author:** [@improbable22](https://discourse.julialang.org/u/improbable22)\
**Replies:** 15\
**Last updated:** [May 20, 2022, 2:38pm UTC](https://discourse.julialang.org/t/the-verbosity-of-dropdims-dims-dims-was-range-improvement-for-1-1/18428 "2022-05-20T14:38:27Z")

</div>

It would be nice if this could be something like sum(a, dims=1, drop=true) for all functions which take dims.

---

## [Eachindex for individual axes of multidimensional arrays?](https://discourse.julialang.org/t/eachindex-for-individual-axes-of-multidimensional-arrays/81264)

<div class="topic-metadata">

**Author:** [@gjm](https://discourse.julialang.org/u/gjm)\
**Replies:** 7\
**Last updated:** [May 18, 2022, 4:16pm UTC](https://discourse.julialang.org/t/eachindex-for-individual-axes-of-multidimensional-arrays/81264 "2022-05-18T16:16:12Z")

</div>

Because arrays’ indices don’t generally start from 1, best practice is to avoid anything like “for i in 1:size()” and instead use eachindex. But for multidimensional arrays, eachindex iterates over all elements of the ar…

---

## [Exportall might be useful in some (limited) cases?](https://discourse.julialang.org/t/exportall-might-be-useful-in-some-limited-cases/80872)

<div class="topic-metadata">

**Author:** [@jsjie](https://discourse.julialang.org/u/jsjie)\
**Replies:** 9\
**Last updated:** [May 16, 2022, 8:18am UTC](https://discourse.julialang.org/t/exportall-might-be-useful-in-some-limited-cases/80872 "2022-05-16T08:18:52Z")

</div>

There are many good points against common use of exportall: possible name conflicts when importing from different packages with explicit export, we know what symbols are intended for internal uses only, and what are in…

---

## [Why distinguish macro names with @?](https://discourse.julialang.org/t/why-distinguish-macro-names-with/81001)

<div class="topic-metadata">

**Author:** [@barfo](https://discourse.julialang.org/u/barfo)\
**Replies:** 47\
**Last updated:** [May 14, 2022, 5:43am UTC](https://discourse.julialang.org/t/why-distinguish-macro-names-with/81001 "2022-05-14T05:43:08Z")

</div>

What’s the thinking behind distinguishing macro names from other identifiers? Rust has done it too. I often use another, non-programming language, which also does it and it drives me nuts. Old lisp hacker… which bits of…

---

## [Method / Type error verbosity & semantics](https://discourse.julialang.org/t/method-type-error-verbosity-semantics/81039)

<div class="topic-metadata">

**Author:** [@bcon](https://discourse.julialang.org/u/bcon)\
**Replies:** 1\
**Last updated:** [May 13, 2022, 10:12pm UTC](https://discourse.julialang.org/t/method-type-error-verbosity-semantics/81039 "2022-05-13T22:12:11Z")

</div>

An enhancement question: Can the types displayed in MethodErrors be made more succinct? In using Unitful, 99% of the time arguments are called with the wrong unit type and it would be great to display type symbols rath…

---

## [Reading about the removal of eye has put me into a deep emotional state](https://discourse.julialang.org/t/reading-about-the-removal-of-eye-has-put-me-into-a-deep-emotional-state/80901)

<div class="topic-metadata">

**Author:** [@skraemer](https://discourse.julialang.org/u/skraemer)\
**Replies:** 2\
**Last updated:** [May 11, 2022, 9:58pm UTC](https://discourse.julialang.org/t/reading-about-the-removal-of-eye-has-put-me-into-a-deep-emotional-state/80901 "2022-05-11T21:58:49Z")

</div>

I will give you a fair warning here that this topic is going to have a serious intention for which I felt the urge to express it using some sarcasm. If you react badly to sarcasm, do not continue. If this is deemed inapp…

---

## [How to get Julia SSA-form IR (with Phi nodes)?](https://discourse.julialang.org/t/how-to-get-julia-ssa-form-ir-with-phi-nodes/79897)

<div class="topic-metadata">

**Author:** [@dfdx](https://discourse.julialang.org/u/dfdx)\
**Replies:** 21\
**Last updated:** [May 11, 2022, 9:52pm UTC](https://discourse.julialang.org/t/how-to-get-julia-ssa-form-ir-with-phi-nodes/79897 "2022-05-11T21:52:19Z")

</div>

Given a function call, how can I get the corresponding SSA-form IR described here? Alternatively, what is the easiest way - function, package or algorithm - to convert a normal lowered representation to the SSA form? I’…

---

## [Opinions on CLASP and Extempore?](https://discourse.julialang.org/t/opinions-on-clasp-and-extempore/80866)

<div class="topic-metadata">

**Author:** [@cancandan](https://discourse.julialang.org/u/cancandan)\
**Replies:** 0\
**Last updated:** [May 11, 2022, 8:28am UTC](https://discourse.julialang.org/t/opinions-on-clasp-and-extempore/80866 "2022-05-11T08:28:20Z")

</div>

I recently learned about CLASP and Extempore. I wonder what folks here think about them. They seem to have much in common with Julia, like the unmatched “liveness”, that facilitates, as Paul Graham says, “design by evolu…

---

## [Why are kwargs printed in full in a MethodError?](https://discourse.julialang.org/t/why-are-kwargs-printed-in-full-in-a-methoderror/80592)

<div class="topic-metadata">

**Author:** [@jishnub](https://discourse.julialang.org/u/jishnub)\
**Replies:** 4\
**Last updated:** [May 10, 2022, 5:11am UTC](https://discourse.julialang.org/t/why-are-kwargs-printed-in-full-in-a-methoderror/80592 "2022-05-10T05:11:38Z")

</div>

julia\> f(a::Int; b = nothing) = a f (generic function with 1 method) julia\> f(2.0, b = zeros(10)) ERROR: MethodError: no method matching f(::Float64; b=\[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0\]) Closest candida…

---

## [Move Random into Base?](https://discourse.julialang.org/t/move-random-into-base/80669)

<div class="topic-metadata">

**Author:** [@Lilith](https://discourse.julialang.org/u/Lilith)\
**Replies:** 22\
**Last updated:** [May 9, 2022, 7:51pm UTC](https://discourse.julialang.org/t/move-random-into-base/80669 "2022-05-09T19:51:01Z")

</div>

It would be nice to have quicksort select its pivot randomly rather than using median of three to prevent malicious data from causing unexpected quadratic runtime. Benchmarking reveals that this causes negligible perform…

---

## [Remove references to \`OS\_HANDLE\` in docs](https://discourse.julialang.org/t/remove-references-to-os-handle-in-docs/80602)

<div class="topic-metadata">

**Author:** [@nandoconde](https://discourse.julialang.org/u/nandoconde)\
**Replies:** 4\
**Last updated:** [May 9, 2022, 2:11pm UTC](https://discourse.julialang.org/t/remove-references-to-os-handle-in-docs/80602 "2022-05-09T14:11:37Z")

</div>

In the official docs, there is a function whose input type is defined as OS\_HANDLE. This type is not mentioned anywhere else in the docs. Furthermore, it is not exported, and help about it says: help?\> Base.OS\_HANDLE …

---

## [How about to simplify the factorial function name?](https://discourse.julialang.org/t/how-about-to-simplify-the-factorial-function-name/80715)

<div class="topic-metadata">

**Author:** [@zhiyuanzhai](https://discourse.julialang.org/u/zhiyuanzhai)\
**Replies:** 18\
**Last updated:** [May 8, 2022, 10:51pm UTC](https://discourse.julialang.org/t/how-about-to-simplify-the-factorial-function-name/80715 "2022-05-08T22:51:49Z")

</div>

Recently I found it quite complicated to call the function factorial(). I feel it too long for such a function that is so frequently used in some situations. Can we make it simpler? Like !(n) (I found that the operator ! …

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

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