# Internals & Design

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

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

**Page:** 41

---

## [Could/should Pkg.build be triggered more often](https://discourse.julialang.org/t/could-should-pkg-build-be-triggered-more-often/37765)

<div class="topic-metadata">

**Author:** [@fingolfin](https://discourse.julialang.org/u/fingolfin)\
**Replies:** 11\
**Last updated:** [April 29, 2020, 12:11am UTC](https://discourse.julialang.org/t/could-should-pkg-build-be-triggered-more-often/37765 "2020-04-29T00:11:42Z")

</div>

Right now, as I understand it, Pkg.build is basically only called once when a package is installed; and again (?) whenever it is updated. That’s of course sufficient in basic use cases. But I am dealing with multiple mo…

---

## [Strange comparison in Base's split method](https://discourse.julialang.org/t/strange-comparison-in-bases-split-method/38321)

<div class="topic-metadata">

**Author:** [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)\
**Replies:** 10\
**Last updated:** [April 28, 2020, 1:33pm UTC](https://discourse.julialang.org/t/strange-comparison-in-bases-split-method/38321 "2020-04-28T13:33:06Z")

</div>

Moderator’s note: this was split from Non-friendly documentation - #49 by rjmoses, but the initial post is mirrored here as an edited-in quote: It seems to be a weird way of checking that r is not an empty array: ju…

---

## ["Domain-Specific Languages" in Julia](https://discourse.julialang.org/t/domain-specific-languages-in-julia/13182)

<div class="topic-metadata">

**Author:** [@jandehaan](https://discourse.julialang.org/u/jandehaan)\
**Replies:** 24\
**Last updated:** [April 28, 2020, 12:40am UTC](https://discourse.julialang.org/t/domain-specific-languages-in-julia/13182 "2020-04-28T00:40:12Z")

</div>

When I read or hear about domain-specific languages in Julia I tend to cringe a little. In most cases it is not about a language, but rather an API. The difference? A DSL uses a syntax appropriate for its domain. An AP…

---

## [Go back to var?](https://discourse.julialang.org/t/go-back-to-var/38293)

<div class="topic-metadata">

**Author:** [@pixel27](https://discourse.julialang.org/u/pixel27)\
**Replies:** 4\
**Last updated:** [April 27, 2020, 6:05pm UTC](https://discourse.julialang.org/t/go-back-to-var/38293 "2020-04-27T18:05:42Z")

</div>

I debated bringing this up, but I fear if I don’t it will just keep rattling around in my head. I suspect the answer will be “The upheaval from this change would be too much”, so I’m not really expecting it to go into 2…

---

## [Improvement for function chaining operator](https://discourse.julialang.org/t/improvement-for-function-chaining-operator/38283)

<div class="topic-metadata">

**Author:** [@govorunov](https://discourse.julialang.org/u/govorunov)\
**Replies:** 6\
**Last updated:** [April 27, 2020, 6:04am UTC](https://discourse.julialang.org/t/improvement-for-function-chaining-operator/38283 "2020-04-27T06:04:46Z")

</div>

Dear Julia founders and maintainers, please consider changing the function chaining (piping) operator to accept call specifications. The new syntax, as I see it would look like: var \>. callable(opt\_param1, opt\_param2) a…

---

## [Why summary(T::Tuple) is the same as string(T::Tuple) after Julia 1.3?](https://discourse.julialang.org/t/why-summary-t-tuple-is-the-same-as-string-t-tuple-after-julia-1-3/38220)

<div class="topic-metadata">

**Author:** [@Jieyi\_Xiong](https://discourse.julialang.org/u/Jieyi_Xiong)\
**Replies:** 1\
**Last updated:** [April 26, 2020, 8:04am UTC](https://discourse.julialang.org/t/why-summary-t-tuple-is-the-same-as-string-t-tuple-after-julia-1-3/38220 "2020-04-26T08:04:23Z")

</div>

Before Julia 1.3 julia\> summary((collect(1:100), )) "Tuple{Array{Int64,1}}" After Julia 1.3 julia\> summary((collect(1:100), )) "(\[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, …

---

## [Walrus operator](https://discourse.julialang.org/t/walrus-operator/38208)

<div class="topic-metadata">

**Author:** [@tk3369](https://discourse.julialang.org/u/tk3369)\
**Replies:** 11\
**Last updated:** [April 26, 2020, 2:31am UTC](https://discourse.julialang.org/t/walrus-operator/38208 "2020-04-26T02:31:33Z")

</div>

I came across the walrus/assignment operator in Python 3.8. The idea is that you can make an assignment in the if-expression and the variable is only visible in the if and elseif blocks. Just wondering if there’s any d…

---

## [The structure of the registry](https://discourse.julialang.org/t/the-structure-of-the-registry/38188)

<div class="topic-metadata">

**Author:** [@alirezamecheng](https://discourse.julialang.org/u/alirezamecheng)\
**Replies:** 2\
**Last updated:** [April 25, 2020, 12:45pm UTC](https://discourse.julialang.org/t/the-structure-of-the-registry/38188 "2020-04-25T12:45:32Z")

</div>

Hello everyone, If I’m getting this right, the only thing that must be unique for every package is the UUID of that package. Meaning that it is possible to have packages with the same name, although it has been encourag…

---

## [Julia LLVM projects?](https://discourse.julialang.org/t/julia-llvm-projects/1349)

<div class="topic-metadata">

**Author:** [@Phil\_Tomson](https://discourse.julialang.org/u/Phil_Tomson)\
**Replies:** 31\
**Last updated:** [April 22, 2020, 9:28pm UTC](https://discourse.julialang.org/t/julia-llvm-projects/1349 "2020-04-22T21:28:01Z")

</div>

I just finished up an LLVM contract porting to a new processor architecture, I’ve got a bit of free time and was wondering where I might find a list of LLVM-related items/projects that need attention in Julia. I looked …

---

## [Which protocols can be used for adding a package by Pkg add from a git server?](https://discourse.julialang.org/t/which-protocols-can-be-used-for-adding-a-package-by-pkg-add-from-a-git-server/38019)

<div class="topic-metadata">

**Author:** [@alirezamecheng](https://discourse.julialang.org/u/alirezamecheng)\
**Replies:** 9\
**Last updated:** [April 22, 2020, 9:24pm UTC](https://discourse.julialang.org/t/which-protocols-can-be-used-for-adding-a-package-by-pkg-add-from-a-git-server/38019 "2020-04-22T21:24:39Z")

</div>

Hello everyone, I’m configuring a server that will be a host for our Julia packages. I have made a private Julia registry that our users will add to their registry, and everything has been sat up to work in our private …

---

## [Julia 1.3, 1.4 on MacOS and Intel MKL Error](https://discourse.julialang.org/t/julia-1-3-1-4-on-macos-and-intel-mkl-error/36469)

<div class="topic-metadata">

**Author:** [@ablaom](https://discourse.julialang.org/u/ablaom)\
**Replies:** 23\
**Last updated:** [April 21, 2020, 2:08am UTC](https://discourse.julialang.org/t/julia-1-3-1-4-on-macos-and-intel-mkl-error/36469 "2020-04-21T02:08:44Z")

</div>

Sorry in advance if this is the wrong place to post. I am looking for any help narrowing down the source of a MacOS only / Julia 1.3, 1.4 only failure for the MLJModels.jl package: “Intel MKL Error”. Copied from the i…

---

## [Introduce ++ as the concatenation operator](https://discourse.julialang.org/t/introduce-as-the-concatenation-operator/37418)

<div class="topic-metadata">

**Author:** [@CameronBieganek](https://discourse.julialang.org/u/CameronBieganek)\
**Replies:** 60\
**Last updated:** [April 17, 2020, 12:23pm UTC](https://discourse.julialang.org/t/introduce-as-the-concatenation-operator/37418 "2020-04-17T12:23:38Z")

</div>

It seems like it would be handy to have ++ as a generic concatenation operator. There are a few languages that use ++ for this, e.g. Erlang, Haskell, and Elm. For arrays, ++ would be sugar for vcat (hcat is another story…

---

## [RFC: Speeding up code loading when using multiple processes by 2X](https://discourse.julialang.org/t/rfc-speeding-up-code-loading-when-using-multiple-processes-by-2x/37583)

<div class="topic-metadata">

**Author:** [@marius311](https://discourse.julialang.org/u/marius311)\
**Replies:** 5\
**Last updated:** [April 17, 2020, 7:04am UTC](https://discourse.julialang.org/t/rfc-speeding-up-code-loading-when-using-multiple-processes-by-2x/37583 "2020-04-17T07:04:51Z")

</div>

I have a proposal which I could implement, but wanted to see if there’s any relevant things I may well be missing before embarking on it. As you know, when you have multiple Julia processes and do using Foo or even @eve…

---

## [Printf moved from Base in v1.4?](https://discourse.julialang.org/t/printf-moved-from-base-in-v1-4/36362)

<div class="topic-metadata">

**Author:** [@swishmas](https://discourse.julialang.org/u/swishmas)\
**Replies:** 3\
**Last updated:** [April 16, 2020, 5:09pm UTC](https://discourse.julialang.org/t/printf-moved-from-base-in-v1-4/36362 "2020-04-16T17:09:34Z")

</div>

I decided to use basic commands like @sprintf without explicitly importing the module required. That is, instead of writing using Printf @sprintf("%.3f",0.4) I wanted to write something like Base.Printf.@sprintf("%.3…

---

## [Membership of Type{T}](https://discourse.julialang.org/t/membership-of-type-t/37654)

<div class="topic-metadata">

**Author:** [@ckfinite](https://discourse.julialang.org/u/ckfinite)\
**Replies:** 3\
**Last updated:** [April 15, 2020, 9:34pm UTC](https://discourse.julialang.org/t/membership-of-type-t/37654 "2020-04-15T21:34:21Z")

</div>

I’ve ran into a type membership question with Type{T}, which seems to be behaving counterintuitively. According to the documentation, Type{T} is the singleton consisting of the type T itself. Thus, isa(Int, Type{T}) ret…

---

## [Difference between Base and Core](https://discourse.julialang.org/t/difference-between-base-and-core/37426)

<div class="topic-metadata">

**Author:** [@tk3369](https://discourse.julialang.org/u/tk3369)\
**Replies:** 2\
**Last updated:** [April 14, 2020, 4:31pm UTC](https://discourse.julialang.org/t/difference-between-base-and-core/37426 "2020-04-14T16:31:31Z")

</div>

The Base and Core modules are essential to the Julia run time… but how are the different? e.g. I can see Complex being defined in Base but Int types are defined in Core… Further, it seems that everything is “exposed” i…

---

## [Built in exponentiation for \`Any\` type](https://discourse.julialang.org/t/built-in-exponentiation-for-any-type/37083)

<div class="topic-metadata">

**Author:** [@Gyoshi](https://discourse.julialang.org/u/Gyoshi)\
**Replies:** 11\
**Last updated:** [April 8, 2020, 7:59pm UTC](https://discourse.julialang.org/t/built-in-exponentiation-for-any-type/37083 "2020-04-08T19:59:31Z")

</div>

A really cool thing about the definition of ^ is that for any custom type MyType\<:Number, for x::MyType and p::Integer \> 0, x^p will work as long as multiplication Base.:\*(a::MyType, b::MyType) is defined. Why is this …

---

## [Exponentiation operator for iterated functions?](https://discourse.julialang.org/t/exponentiation-operator-for-iterated-functions/36346)

<div class="topic-metadata">

**Author:** [@sijo](https://discourse.julialang.org/u/sijo)\
**Replies:** 10\
**Last updated:** [April 7, 2020, 10:58am UTC](https://discourse.julialang.org/t/exponentiation-operator-for-iterated-functions/36346 "2020-04-07T10:58:31Z")

</div>

Would it make sense to define the ^ operator for iterated functions? Something like: ^(f::Function, n::Integer) = ∘(fill(f,n)...) Then we can do things like typeof(1.0) |\> supertype^3 Instead of typeof(1.0) |\> super…

---

## [Cannot interpolate function signature into function definition expression](https://discourse.julialang.org/t/cannot-interpolate-function-signature-into-function-definition-expression/36761)

<div class="topic-metadata">

**Author:** [@benninkrs](https://discourse.julialang.org/u/benninkrs)\
**Replies:** 2\
**Last updated:** [March 31, 2020, 2:09pm UTC](https://discourse.julialang.org/t/cannot-interpolate-function-signature-into-function-definition-expression/36761 "2020-03-31T14:09:18Z")

</div>

This seems to be a parser weakness: julia\> foosig = :( foo(x) ) :(foo(x)) julia\> :( function $foosig 2\*x end ) ERROR: syntax: expected "end" in definition of function "($ foosig)" The error message is miselading: the …

---

## [Reproducible multithreaded monte-carlo / Task local random](https://discourse.julialang.org/t/reproducible-multithreaded-monte-carlo-task-local-random/35269)

<div class="topic-metadata">

**Author:** [@foobar\_lv2](https://discourse.julialang.org/u/foobar_lv2)\
**Replies:** 8\
**Last updated:** [March 25, 2020, 10:52am UTC](https://discourse.julialang.org/t/reproducible-multithreaded-monte-carlo-task-local-random/35269 "2020-03-25T10:52:56Z")

</div>

This is a companion post to https://github.com/JuliaLang/julia/pull/34852 , for a more user-centric discussion. Reproducibility of randomized computations is a very nice property (when Random.seed! is used). This is goo…

---

## [Reworking SML threading and GC for real time systems (paper)](https://discourse.julialang.org/t/reworking-sml-threading-and-gc-for-real-time-systems-paper/36061)

<div class="topic-metadata">

**Author:** [@JeffreySarnoff](https://discourse.julialang.org/u/JeffreySarnoff)\
**Replies:** 0\
**Last updated:** [March 16, 2020, 9:08pm UTC](https://discourse.julialang.org/t/reworking-sml-threading-and-gc-for-real-time-systems-paper/36061 "2020-03-16T21:08:33Z")

</div>

RTMLton: An SML Runtime for Real-Time Systems in Practical Aspects of Declarative Languages (2020 proceedings). from the Abstract and Conclusion: … There has been relatively little progress on adapting more general p…

---

## [Make debug builds of Julia available?](https://discourse.julialang.org/t/make-debug-builds-of-julia-available/35850)

<div class="topic-metadata">

**Author:** [@goretkin](https://discourse.julialang.org/u/goretkin)\
**Replies:** 0\
**Last updated:** [March 11, 2020, 8:13pm UTC](https://discourse.julialang.org/t/make-debug-builds-of-julia-available/35850 "2020-03-11T20:13:40Z")

</div>

I’d like to propose making debug builds of Julia available on \[some of the\] Tier 1 platforms, at least for nightly. When I’ve encountered segfaults in the past, I’ve occasionally bitten the bullet and built it myself. It…

---

## [REPL and mainloop](https://discourse.julialang.org/t/repl-and-mainloop/35699)

<div class="topic-metadata">

**Author:** [@tobias.knopp](https://discourse.julialang.org/u/tobias.knopp)\
**Replies:** 0\
**Last updated:** [March 7, 2020, 9:20pm UTC](https://discourse.julialang.org/t/repl-and-mainloop/35699 "2020-03-07T21:20:34Z")

</div>

I have been thinking a little bit about the issue that Gtk makes the REPL sluggish on windows and from my perspective this points at a little bit more general problem: How should one integrate an external mainloop with t…

---

## [Changes to codebase not reflecting](https://discourse.julialang.org/t/changes-to-codebase-not-reflecting/35653)

<div class="topic-metadata">

**Author:** [@monsij98](https://discourse.julialang.org/u/monsij98)\
**Replies:** 5\
**Last updated:** [March 7, 2020, 5:13pm UTC](https://discourse.julialang.org/t/changes-to-codebase-not-reflecting/35653 "2020-03-07T17:13:05Z")

</div>

I want to make some changes to REPL.jl present at Julia-1.3.1\\share\\julia\\stdlib\\v1.3\\REPL\\src (local installation). However the changes aren’t being reflected when I actually run it. Do I need to run an intermediate bui…

---

## [User-Defined Struct Constructors similar to Named Tuples](https://discourse.julialang.org/t/user-defined-struct-constructors-similar-to-named-tuples/35596)

<div class="topic-metadata">

**Author:** [@Deduction42](https://discourse.julialang.org/u/Deduction42)\
**Replies:** 3\
**Last updated:** [March 6, 2020, 6:08pm UTC](https://discourse.julialang.org/t/user-defined-struct-constructors-similar-to-named-tuples/35596 "2020-03-06T18:08:03Z")

</div>

When initializing user-define objects or structs, I find that he positional argument approach isn’t very clean. For example, let us say that we first start with mutable struct MyPoint x::Float64 z::Float64 end Then …

---

## [Infix for isequal](https://discourse.julialang.org/t/infix-for-isequal/240)

<div class="topic-metadata">

**Author:** [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Replies:** 4\
**Last updated:** [March 6, 2020, 6:28am UTC](https://discourse.julialang.org/t/infix-for-isequal/240 "2020-03-06T06:28:52Z")

</div>

I find I use isequal a lot, especially for tests, so an infix form would be convenient. I checked the issues, but did not find anything related, thought I would ask here before opening an issue. I don’t have a strong pr…

---

## [A more intuitive way to treat an object as a scalar in broadcasting?](https://discourse.julialang.org/t/a-more-intuitive-way-to-treat-an-object-as-a-scalar-in-broadcasting/35598)

<div class="topic-metadata">

**Author:** [@CameronBieganek](https://discourse.julialang.org/u/CameronBieganek)\
**Replies:** 9\
**Last updated:** [March 5, 2020, 10:22pm UTC](https://discourse.julialang.org/t/a-more-intuitive-way-to-treat-an-object-as-a-scalar-in-broadcasting/35598 "2020-03-05T22:22:24Z")

</div>

I think it would make sense to have a more intuitive way to treat an object as a scalar for broadcasting. The canonical example, which new users ask about all the time, is when using in: julia\> \[2, 3, 4\] .∈ Ref(\[1, 3, 5…

---

## [Bounds on package versions](https://discourse.julialang.org/t/bounds-on-package-versions/35511)

<div class="topic-metadata">

**Author:** [@bkamins](https://discourse.julialang.org/u/bkamins)\
**Replies:** 10\
**Last updated:** [March 5, 2020, 11:46am UTC](https://discourse.julialang.org/t/bounds-on-package-versions/35511 "2020-03-05T11:46:50Z")

</div>

Given the discussion on DataFrames.jl tagging/dependencies cycle we recently had on Slack I have the following general question. Currently Pkg manager is strict with respect to ensuring consistency of versions of depend…

---

## [Extend \`last\` to also work with arrays](https://discourse.julialang.org/t/extend-last-to-also-work-with-arrays/35100)

<div class="topic-metadata">

**Author:** [@Alex1](https://discourse.julialang.org/u/Alex1)\
**Replies:** 6\
**Last updated:** [March 4, 2020, 1:37am UTC](https://discourse.julialang.org/t/extend-last-to-also-work-with-arrays/35100 "2020-03-04T01:37:59Z")

</div>

It works with strings, but not with arrays, currently this would fail last(\[1, 2, 3, 4, 5\], 2)

---

## [Assignment to size zero array, \[in-place assign bug\]?](https://discourse.julialang.org/t/assignment-to-size-zero-array-in-place-assign-bug/35312)

<div class="topic-metadata">

**Author:** [@dehann](https://discourse.julialang.org/u/dehann)\
**Replies:** 5\
**Last updated:** [March 3, 2020, 9:42am UTC](https://discourse.julialang.org/t/assignment-to-size-zero-array-in-place-assign-bug/35312 "2020-03-03T09:42:55Z")

</div>

Hi, just came across this. Should assigning to a zero size array not perhaps produce an error: julia\> a = zeros(0,1) julia\> a\[:,1\] .= \[1\] 0-element view(::Array{Float64,2}, :, 1) with eltype Float64 Regular behavior d…

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

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