# Internals & Design

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

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

**Page:** 33

---

## [Can/could type inference & specialisation barriers be created at regions other than function calls?](https://discourse.julialang.org/t/can-could-type-inference-specialisation-barriers-be-created-at-regions-other-than-function-calls/59046)

<div class="topic-metadata">

**Author:** [@xyz](https://discourse.julialang.org/u/xyz)\
**Replies:** 3\
**Last updated:** [April 12, 2021, 9:19pm UTC](https://discourse.julialang.org/t/can-could-type-inference-specialisation-barriers-be-created-at-regions-other-than-function-calls/59046 "2021-04-12T21:19:38Z")

</div>

Type specialisation happens at function calls, which is why the common function-barrier pattern arises. Speculating a bit: what would be the issue with having some construct that enforces a type-specialisation for a blo…

---

## [Jeff Bezanson remarks on LLVM "getting slower and slower"](https://discourse.julialang.org/t/jeff-bezanson-remarks-on-llvm-getting-slower-and-slower/39637)

<div class="topic-metadata">

**Author:** [@KZiemian](https://discourse.julialang.org/u/KZiemian)\
**Replies:** 15\
**Last updated:** [April 12, 2021, 4:20pm UTC](https://discourse.julialang.org/t/jeff-bezanson-remarks-on-llvm-getting-slower-and-slower/39637 "2021-04-12T16:20:43Z")

</div>

In Ask us anything: Jeff Bezanson and Stefan Karpinski from April 16 (this year, 2020) Jeff Bezanson told that he has only two worries about Julia and one of this is that “LLVM is keep getting slower and slower” (around …

---

## [Readdir return full path](https://discourse.julialang.org/t/readdir-return-full-path/15274)

<div class="topic-metadata">

**Author:** [@yakir12](https://discourse.julialang.org/u/yakir12)\
**Replies:** 21\
**Last updated:** [April 12, 2021, 11:53am UTC](https://discourse.julialang.org/t/readdir-return-full-path/15274 "2021-04-12T11:53:44Z")

</div>

How useful do you people think it would be for readdir(dir) to return the full path name of the files and directories in directory dir? julia\> path = "/home/yakir/tmp" "/home/yakir/tmp" julia\> readdir(path) 3-element A…

---

## [Printed text during package installing/updates](https://discourse.julialang.org/t/printed-text-during-package-installing-updates/59071)

<div class="topic-metadata">

**Author:** [@TheLateKronos](https://discourse.julialang.org/u/TheLateKronos)\
**Replies:** 5\
**Last updated:** [April 12, 2021, 10:04am UTC](https://discourse.julialang.org/t/printed-text-during-package-installing-updates/59071 "2021-04-12T10:04:31Z")

</div>

I have noticed after updating to 1.6.0 that I sometimes get something like the following printed during package-installation/updating: Updating registry at \`C:\\Users\\densb\\.julia\\registries\\General\` Updating git…

---

## [Is there any way I can call an instance of a function repeatedly with the function retaining internally the last state of the GPIO pin](https://discourse.julialang.org/t/is-there-any-way-i-can-call-an-instance-of-a-function-repeatedly-with-the-function-retaining-internally-the-last-state-of-the-gpio-pin/58748)

<div class="topic-metadata">

**Author:** [@GregMcC](https://discourse.julialang.org/u/GregMcC)\
**Replies:** 7\
**Last updated:** [April 8, 2021, 11:54pm UTC](https://discourse.julialang.org/t/is-there-any-way-i-can-call-an-instance-of-a-function-repeatedly-with-the-function-retaining-internally-the-last-state-of-the-gpio-pin/58748 "2021-04-08T23:54:46Z")

</div>

I am wanting to monitor some GPIO pins on a Raspberry Pi. Is there any way I can call an instance of a function repeatedly with the function retaining internally the last state of the GPIO pin - so that I can detect Risi…

---

## [Hypothetical visual programming in Julia - design?](https://discourse.julialang.org/t/hypothetical-visual-programming-in-julia-design/58526)

<div class="topic-metadata">

**Author:** [@bradeneliason](https://discourse.julialang.org/u/bradeneliason)\
**Replies:** 5\
**Last updated:** [April 8, 2021, 11:04pm UTC](https://discourse.julialang.org/t/hypothetical-visual-programming-in-julia-design/58526 "2021-04-08T23:04:58Z")

</div>

I see the discussion of visual programming pop up in other discourse threads periodically and I wanted to have a single thread about what the design of a visual programming environment for Julia would/should look like. F…

---

## [Referencing local variable before assignment results in unexpected behavior](https://discourse.julialang.org/t/referencing-local-variable-before-assignment-results-in-unexpected-behavior/58088)

<div class="topic-metadata">

**Author:** [@instrnts](https://discourse.julialang.org/u/instrnts)\
**Replies:** 58\
**Last updated:** [April 7, 2021, 9:53am UTC](https://discourse.julialang.org/t/referencing-local-variable-before-assignment-results-in-unexpected-behavior/58088 "2021-04-07T09:53:13Z")

</div>

Julia version: 1.6.0 I recently had a bug in my code, after isolating the bug, it came down to a piece of code that looks like this: function outer(n) function inner() n = n + 1 end inner() re…

---

## [POSIX month](https://discourse.julialang.org/t/posix-month/58572)

<div class="topic-metadata">

**Author:** [@mberlinger3](https://discourse.julialang.org/u/mberlinger3)\
**Replies:** 1\
**Last updated:** [April 4, 2021, 8:44pm UTC](https://discourse.julialang.org/t/posix-month/58572 "2021-04-04T20:44:43Z")

</div>

I’m curious as to why U/u was implement in the dates packages for month and month abbr. respectively. I believe the POSIX standard is B/b according to the Linux manual below: https://pubs.opengroup.org/onlinepubs/007908…

---

## [Julia cloud infrastructure](https://discourse.julialang.org/t/julia-cloud-infrastructure/58493)

<div class="topic-metadata">

**Author:** [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Replies:** 3\
**Last updated:** [April 3, 2021, 1:42pm UTC](https://discourse.julialang.org/t/julia-cloud-infrastructure/58493 "2021-04-03T13:42:32Z")

</div>

I am wondering which cloud infrastructure is used for the development of Julia, in particular for the build server(s). Is it azure devops, or amazon web services or what else?

---

## [Parametrically customized subtypes](https://discourse.julialang.org/t/parametrically-customized-subtypes/58258)

<div class="topic-metadata">

**Author:** [@jzr](https://discourse.julialang.org/u/jzr)\
**Replies:** 4\
**Last updated:** [March 30, 2021, 9:04pm UTC](https://discourse.julialang.org/t/parametrically-customized-subtypes/58258 "2021-03-30T21:04:02Z")

</div>

I think this is the same feature discussed recently by the Symbolics and Julia compiler teams. I would be interested to see what the experts have to say on this topic. For each of many external abstract types T , I want…

---

## [The future is ARM's?](https://discourse.julialang.org/t/the-future-is-arms/41893)

<div class="topic-metadata">

**Author:** [@jling](https://discourse.julialang.org/u/jling)\
**Replies:** 20\
**Last updated:** [March 30, 2021, 6:28pm UTC](https://discourse.julialang.org/t/the-future-is-arms/41893 "2021-03-30T18:28:26Z")

</div>

we all knew this would be coming more or less but Apple is jumping to ARM fully this time, which potentially means in \< 5 years most macOS devices will be running ARM; according to the tier of support, ARMv8 is tier 1 …

---

## [Ccall for LTO libraries with LLVM backend](https://discourse.julialang.org/t/ccall-for-lto-libraries-with-llvm-backend/58186)

<div class="topic-metadata">

**Author:** [@Artoria2e5](https://discourse.julialang.org/u/Artoria2e5)\
**Replies:** 0\
**Last updated:** [March 29, 2021, 7:10pm UTC](https://discourse.julialang.org/t/ccall-for-lto-libraries-with-llvm-backend/58186 "2021-03-29T19:10:30Z")

</div>

A lot of LLVM languages like Rust support cross-language optimization at link time, allowing e.g. C code to be inlined and further optimized to LLVM’s wish. Since Julia also heavily uses LLVM (albeit in a more… just-in-t…

---

## [How much can hard-coded indexing be avoided in Julia?](https://discourse.julialang.org/t/how-much-can-hard-coded-indexing-be-avoided-in-julia/55699)

<div class="topic-metadata">

**Author:** [@wherrera](https://discourse.julialang.org/u/wherrera)\
**Replies:** 41\
**Last updated:** [March 3, 2021, 9:59am UTC](https://discourse.julialang.org/t/how-much-can-hard-coded-indexing-be-avoided-in-julia/55699 "2021-03-03T09:59:39Z")

</div>

I’ve noticed a trend toward Julia’s new keywords trending towards using keywords and functions instead of integer indexing in Julia. For example, first(array) instead of array\[1\], or eachindex(array) instead of 1:length…

---

## [Function interface to \`^Q\` shortcut behavior and generalization to get last stacktrace](https://discourse.julialang.org/t/function-interface-to-q-shortcut-behavior-and-generalization-to-get-last-stacktrace/58038)

<div class="topic-metadata">

**Author:** [@goretkin](https://discourse.julialang.org/u/goretkin)\
**Replies:** 0\
**Last updated:** [March 26, 2021, 6:41pm UTC](https://discourse.julialang.org/t/function-interface-to-q-shortcut-behavior-and-generalization-to-get-last-stacktrace/58038 "2021-03-26T18:41:04Z")

</div>

The ^Q shortcut lets a user jump to a source code line corresponding to a method or stackframe. It is just awesome. (It makes Julia a bit more like \[the good parts of\] SmallTalk) What about a non-shortcut way to access …

---

## [Can't make a new branch of Julia for a PR](https://discourse.julialang.org/t/cant-make-a-new-branch-of-julia-for-a-pr/57786)

<div class="topic-metadata">

**Author:** [@HenriDeh](https://discourse.julialang.org/u/HenriDeh)\
**Replies:** 3\
**Last updated:** [March 23, 2021, 2:28pm UTC](https://discourse.julialang.org/t/cant-make-a-new-branch-of-julia-for-a-pr/57786 "2021-03-23T14:28:34Z")

</div>

Hello, I’d like to suggest a simple change to a Julia.Base file but I can’t manage to create a branch on github for a quick file edit then a PR. You know, by using the edit button at the top of the file. Is it restrict…

---

## [Even more bare baremodule](https://discourse.julialang.org/t/even-more-bare-baremodule/56156)

<div class="topic-metadata">

**Author:** [@Mason](https://discourse.julialang.org/u/Mason)\
**Replies:** 8\
**Last updated:** [March 19, 2021, 4:25pm UTC](https://discourse.julialang.org/t/even-more-bare-baremodule/56156 "2021-03-19T16:25:22Z")

</div>

Is there a way to create a baremodule that doesn’t import Core? Currently, baremodule does using Core, so it’s namespace really isn’t as bare as one might like because Core exports 97 names: julia\> names(Core) 97-elemen…

---

## [How are compile cache files named?](https://discourse.julialang.org/t/how-are-compile-cache-files-named/57304)

<div class="topic-metadata">

**Author:** [@bluesmoon](https://discourse.julialang.org/u/bluesmoon)\
**Replies:** 6\
**Last updated:** [March 16, 2021, 4:16pm UTC](https://discourse.julialang.org/t/how-are-compile-cache-files-named/57304 "2021-03-16T16:16:10Z")

</div>

I’m using julia 1.5.3. This question is based on my curiosity of how julia works and not something that’s affecting my work. I have several modules that I’ve written myself, and they in turn use some modules from the pu…

---

## [\`indexin\` should accept Tuples as second argument?](https://discourse.julialang.org/t/indexin-should-accept-tuples-as-second-argument/57211)

<div class="topic-metadata">

**Author:** [@lmiq](https://discourse.julialang.org/u/lmiq)\
**Replies:** 1\
**Last updated:** [March 15, 2021, 4:40pm UTC](https://discourse.julialang.org/t/indexin-should-accept-tuples-as-second-argument/57211 "2021-03-15T16:40:57Z")

</div>

As a side note from this thread, I noticed that the implementation of indexin, which is: function indexin(a, b::AbstractArray) inds = keys(b) bdict = Dict{eltype(b),eltype(inds)}() for (val, ind) in zip(b, i…

---

## [A more powerful version of the operator |\>](https://discourse.julialang.org/t/a-more-powerful-version-of-the-operator/57064)

<div class="topic-metadata">

**Author:** [@anon74562486](https://discourse.julialang.org/u/anon74562486)\
**Replies:** 2\
**Last updated:** [March 13, 2021, 11:19am UTC](https://discourse.julialang.org/t/a-more-powerful-version-of-the-operator/57064 "2021-03-13T11:19:42Z")

</div>

(This is probably the best section to make this proposal) I recently asked a question about how often the |\> operator is used. Many people don’t use the pipe operator because of its limitations (having to write a lambd…

---

## [Why are some primitive types defined in Julia, and others in the C code?](https://discourse.julialang.org/t/why-are-some-primitive-types-defined-in-julia-and-others-in-the-c-code/57038)

<div class="topic-metadata">

**Author:** [@nsajko](https://discourse.julialang.org/u/nsajko)\
**Replies:** 1\
**Last updated:** [March 12, 2021, 8:42pm UTC](https://discourse.julialang.org/t/why-are-some-primitive-types-defined-in-julia-and-others-in-the-c-code/57038 "2021-03-12T20:42:46Z")

</div>

Hello, I noticed that the Base Julia code defines some primitive types, but not others, and I’m curious if somebody could explain this. Specifically it seems that Bool, UInt8, Int32, UInt32, Int64, and UInt64 are define…

---

## [Slowness of fieldnames and propertynames](https://discourse.julialang.org/t/slowness-of-fieldnames-and-propertynames/55364)

<div class="topic-metadata">

**Author:** [@Mason](https://discourse.julialang.org/u/Mason)\
**Replies:** 5\
**Last updated:** [March 10, 2021, 12:40pm UTC](https://discourse.julialang.org/t/slowness-of-fieldnames-and-propertynames/55364 "2021-03-10T12:40:03Z")

</div>

So I’ve seen disucssions of this pop up a few times, but I figure it might be good to have a more recent thread here on discourse that we can point people to (and maybe it can motivate a PR / issue to julia) The problem…

---

## [Would an AbstractTuple type be helpful?](https://discourse.julialang.org/t/would-an-abstracttuple-type-be-helpful/56673)

<div class="topic-metadata">

**Author:** [@JeffreySarnoff](https://discourse.julialang.org/u/JeffreySarnoff)\
**Replies:** 3\
**Last updated:** [March 7, 2021, 3:29pm UTC](https://discourse.julialang.org/t/would-an-abstracttuple-type-be-helpful/56673 "2021-03-07T15:29:33Z")

</div>

Where both Tuple and NamedTuple are subtypes of AbstractTuple. Now (v"1.7") that indexing over NamedTuples exists and indexes over its values, there are more methods that share functionality (first and last have worked …

---

## [How is differentiation of implicit parameters implemented in Flux.jl?](https://discourse.julialang.org/t/how-is-differentiation-of-implicit-parameters-implemented-in-flux-jl/56656)

<div class="topic-metadata">

**Author:** [@wujinq](https://discourse.julialang.org/u/wujinq)\
**Replies:** 0\
**Last updated:** [March 7, 2021, 6:16am UTC](https://discourse.julialang.org/t/how-is-differentiation-of-implicit-parameters-implemented-in-flux-jl/56656 "2021-03-07T06:16:54Z")

</div>

In the document of Flux.jl an example of differentiation of implicit parameters is given as follows: julia\> x = \[2, 1\]; julia\> y = \[2, 0\]; julia\> gs = gradient(params(x, y)) do f(x, y) end Grads(...) …

---

## [Location of test files for base/refpointer.jl](https://discourse.julialang.org/t/location-of-test-files-for-base-refpointer-jl/56349)

<div class="topic-metadata">

**Author:** [@dev\_prithvitewatia](https://discourse.julialang.org/u/dev_prithvitewatia)\
**Replies:** 2\
**Last updated:** [March 7, 2021, 5:10am UTC](https://discourse.julialang.org/t/location-of-test-files-for-base-refpointer-jl/56349 "2021-03-07T05:10:02Z")

</div>

I am working on issue #39672 but could not find the test files for base/refpointer.jl .I asked in the issue on Github but got no reply. So can anyone please tell me where the test file is located so that I could fix the …

---

## [Why no NAND nor NOR in Bitwise Operators?](https://discourse.julialang.org/t/why-no-nand-nor-nor-in-bitwise-operators/56540)

<div class="topic-metadata">

**Author:** [@citron](https://discourse.julialang.org/u/citron)\
**Replies:** 3\
**Last updated:** [March 6, 2021, 9:13pm UTC](https://discourse.julialang.org/t/why-no-nand-nor-nor-in-bitwise-operators/56540 "2021-03-06T21:13:52Z")

</div>

Hello I would appreciate to see (vector) NAND (aka ⊼) and NOR (aka ⊽) bitwise operators implemented because these functions are commonly hardwired nowadays. We can see them in the Arm A64 Instruction Set Architecture a…

---

## [\`maximum\`, \`minimum\`, etc, with array with missing values](https://discourse.julialang.org/t/maximum-minimum-etc-with-array-with-missing-values/56549)

<div class="topic-metadata">

**Author:** [@lmiq](https://discourse.julialang.org/u/lmiq)\
**Replies:** 1\
**Last updated:** [March 5, 2021, 12:35pm UTC](https://discourse.julialang.org/t/maximum-minimum-etc-with-array-with-missing-values/56549 "2021-03-05T12:35:30Z")

</div>

Shouldn’t these functions return the maximum, minimum, etc, disregarding missing values? julia\> x = \[ missing, 1, 2 \] 3-element Array{Union{Missing, Int64},1}: missing 1 2 julia\> maximum(x) missing julia\> minimum(…

---

## [One-dimensional matrix and vectors in broadcast](https://discourse.julialang.org/t/one-dimensional-matrix-and-vectors-in-broadcast/56146)

<div class="topic-metadata">

**Author:** [@lmiq](https://discourse.julialang.org/u/lmiq)\
**Replies:** 7\
**Last updated:** [March 4, 2021, 5:20pm UTC](https://discourse.julialang.org/t/one-dimensional-matrix-and-vectors-in-broadcast/56146 "2021-03-04T17:20:16Z")

</div>

In a recent thread I noticed that mutating a vector by broadcasting operations on one-dimensional matrices does not work: julia\> x = rand(3,1); julia\> z = zeros(3); julia\> z .= x ERROR: DimensionMismatch("cannot broa…

---

## [Start, step, length for \`range\`](https://discourse.julialang.org/t/start-step-length-for-range/56465)

<div class="topic-metadata">

**Author:** [@TheLateKronos](https://discourse.julialang.org/u/TheLateKronos)\
**Replies:** 4\
**Last updated:** [March 4, 2021, 9:32am UTC](https://discourse.julialang.org/t/start-step-length-for-range/56465 "2021-03-04T09:32:20Z")

</div>

I am getting an error when trying to create a range with a start, step, length: julia\> range(start=0, step=fs, length=2^10) ERROR: MethodError: no method matching range(; start=0, step=0.01, length=1024) Is there any g…

---

## ["Simpler" findfirst/firstall methods?](https://discourse.julialang.org/t/simpler-findfirst-firstall-methods/56240)

<div class="topic-metadata">

**Author:** [@sylvaticus](https://discourse.julialang.org/u/sylvaticus)\
**Replies:** 16\
**Last updated:** [March 1, 2021, 6:46pm UTC](https://discourse.julialang.org/t/simpler-findfirst-firstall-methods/56240 "2021-03-01T18:46:35Z")

</div>

I wonder if there is a reason (computational, to avoid name collision…) while there aren’t “simpler” findfirst/firstall methods in Base: a = \["aa","cc","cc","bb","cc","aa"\] findfirst(x -\> x == "cc",a) # ok, but user nee…

---

## [Automatic conversion Int64 -\>Float64 for Unions](https://discourse.julialang.org/t/automatic-conversion-int64-float64-for-unions/56071)

<div class="topic-metadata">

**Author:** [@sylvaticus](https://discourse.julialang.org/u/sylvaticus)\
**Replies:** 1\
**Last updated:** [February 26, 2021, 3:00pm UTC](https://discourse.julialang.org/t/automatic-conversion-int64-float64-for-unions/56071 "2021-02-26T15:00:27Z")

</div>

Currently integers to floats “automatic” conversion is successful only if the type is not a Union but it fails otherwise: a = Float64\[1.0,2.0\] a = Float64\[1,2\] # ok a = Union{Float64,String}\[1.0,"a…

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

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