# Internals & Design

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

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

**Page:** 35

---

## [Why \`LAPACK.trtrs!\`, not \`BLAS.trsv!\`?](https://discourse.julialang.org/t/why-lapack-trtrs-not-blas-trsv/14239)

<div class="topic-metadata">

**Author:** [@dlfivefifty](https://discourse.julialang.org/u/dlfivefifty)\
**Replies:** 15\
**Last updated:** [September 3, 2018, 9:43am UTC](https://discourse.julialang.org/t/why-lapack-trtrs-not-blas-trsv/14239 "2018-09-03T09:43:28Z")

</div>

I was surprised to find out LAPACK and BLAS have different triangular solves: julia\> A = randn(5,5); b = randn(5); all((UpperTriangular(A)\\b) .=== BLAS.trsv('U', 'N', 'N', A, b)) false julia\> A = randn(5,5); b = randn(…

---

## [\`let\` syntax weirdness](https://discourse.julialang.org/t/let-syntax-weirdness/52738)

<div class="topic-metadata">

**Author:** [@cscherrer](https://discourse.julialang.org/u/cscherrer)\
**Replies:** 38\
**Last updated:** [January 3, 2021, 10:20pm UTC](https://discourse.julialang.org/t/let-syntax-weirdness/52738 "2021-01-03T22:20:43Z")

</div>

let is great and very important to have, but the syntax is very unusual. Before running them, try to guess what these do: function f1() a = 1 b = 2 c = let a = 3 b = 4 a+b end (a,b,…

---

## [Symmetric vs symmetric](https://discourse.julialang.org/t/symmetric-vs-symmetric/52743)

<div class="topic-metadata">

**Author:** [@willtebbutt](https://discourse.julialang.org/u/willtebbutt)\
**Replies:** 2\
**Last updated:** [January 2, 2021, 6:51pm UTC](https://discourse.julialang.org/t/symmetric-vs-symmetric/52743 "2021-01-02T18:51:54Z")

</div>

At present we have the Symmetric type in LinearAlgebra which wraps an AbstractMatrix. This seems like a sensible strategy when dealing with dense Matrixs, and things like that. However, (to pick a single example) wrappin…

---

## [Understanding precompilation and its limitations (reducing latency)](https://discourse.julialang.org/t/understanding-precompilation-and-its-limitations-reducing-latency/48294)

<div class="topic-metadata">

**Author:** [@tim.holy](https://discourse.julialang.org/u/tim.holy)\
**Replies:** 13\
**Last updated:** [December 31, 2020, 7:37pm UTC](https://discourse.julialang.org/t/understanding-precompilation-and-its-limitations-reducing-latency/48294 "2020-12-31T19:37:00Z")

</div>

Many people have wanted to know more about how to reduce latency and the internal details of precompilation. I’ve just added a variant of the discussion below to SnoopCompile’s docs (Snooping on inference: @snoopi · Snoo…

---

## [Function with Vararg and Missing ambiguity check?](https://discourse.julialang.org/t/function-with-vararg-and-missing-ambiguity-check/52657)

<div class="topic-metadata">

**Author:** [@tomaklutfu](https://discourse.julialang.org/u/tomaklutfu)\
**Replies:** 1\
**Last updated:** [December 31, 2020, 12:39pm UTC](https://discourse.julialang.org/t/function-with-vararg-and-missing-ambiguity-check/52657 "2020-12-31T12:39:03Z")

</div>

Consider the function with two methods julia\> f(::Integer, x::Vararg{Integer, N}) where {N} = NTuple{N,Int}(s) # Here s intentional f (generic function with 1 method) julia\> f(::Integer, x::Vararg{Any, N}) where {N} = …

---

## [Using "Module.jl" as alias to include("Module.jl"); using .Module](https://discourse.julialang.org/t/using-module-jl-as-alias-to-include-module-jl-using-module/52610)

<div class="topic-metadata">

**Author:** [@lmiq](https://discourse.julialang.org/u/lmiq)\
**Replies:** 4\
**Last updated:** [December 30, 2020, 7:00pm UTC](https://discourse.julialang.org/t/using-module-jl-as-alias-to-include-module-jl-using-module/52610 "2020-12-30T19:00:40Z")

</div>

Wouldn’t it be handy if using and import had methods (or @using and @import macros) that include and load the module at once? using "MyModule.jl" as an alias to include("MyModule.jl") using .MyModule and using "./M…

---

## [Struct as subtype of multiple types](https://discourse.julialang.org/t/struct-as-subtype-of-multiple-types/52357)

<div class="topic-metadata">

**Author:** [@pranshumalik14](https://discourse.julialang.org/u/pranshumalik14)\
**Replies:** 8\
**Last updated:** [December 30, 2020, 12:45am UTC](https://discourse.julialang.org/t/struct-as-subtype-of-multiple-types/52357 "2020-12-30T00:45:03Z")

</div>

I am trying to create 2 groups of abstract types to be for different purposes. A quick example can be an abstract type GeometricEntity of which both AbstractPoint (supertype for n-dimensional points) and GeometricEntity2…

---

## [Sharing python memory](https://discourse.julialang.org/t/sharing-python-memory/52409)

<div class="topic-metadata">

**Author:** [@anon69491625](https://discourse.julialang.org/u/anon69491625)\
**Replies:** 17\
**Last updated:** [December 27, 2020, 9:22pm UTC](https://discourse.julialang.org/t/sharing-python-memory/52409 "2020-12-27T21:22:39Z")

</div>

so I am going to be populating a python data structure with financial instrument data. I want to use Julia to analyze the information. What is the most effective way to share the data between python and julia. thank y…

---

## [\<\< operator for arrays](https://discourse.julialang.org/t/operator-for-arrays/17089)

<div class="topic-metadata">

**Author:** [@RaulDurand](https://discourse.julialang.org/u/RaulDurand)\
**Replies:** 29\
**Last updated:** [December 21, 2020, 1:15pm UTC](https://discourse.julialang.org/t/operator-for-arrays/17089 "2020-12-21T13:15:47Z")

</div>

Any chance to overload operator \<\< (or any other) to mean push! as a syntactic sugar? e.g. a = \[1,2,3\] a \<\< factorial(5) # a = \[1,2,3,120\] Seems to be clearer and simpler than push!(a, factorial(5))

---

## [\[ANN\] ChannelBuffers](https://discourse.julialang.org/t/ann-channelbuffers/51323)

<div class="topic-metadata">

**Author:** [@klacru](https://discourse.julialang.org/u/klacru)\
**Replies:** 1\
**Last updated:** [December 19, 2020, 10:50am UTC](https://discourse.julialang.org/t/ann-channelbuffers/51323 "2020-12-19T10:50:51Z")

</div>

This parallel Tasks/Threads package ChannelBuffers implements piped streams in Julia. Typical usage: curl("...file.tgz") | gunzip() | tarx("target-dir") |\> run |\> wait Each job is performed in a separate task; tasks …

---

## [var::MyType the variable keeps MyType as type and can't change further on](https://discourse.julialang.org/t/var-mytype-the-variable-keeps-mytype-as-type-and-cant-change-further-on/51955)

<div class="topic-metadata">

**Author:** [@Impressium](https://discourse.julialang.org/u/Impressium)\
**Replies:** 8\
**Last updated:** [December 18, 2020, 10:37pm UTC](https://discourse.julialang.org/t/var-mytype-the-variable-keeps-mytype-as-type-and-cant-change-further-on/51955 "2020-12-18T22:37:19Z")

</div>

Hey community, I know that Julia is dynamic and variables can change type. But would it be nice to have a way of restricting that? My ideas is: var::Int64 = 10 var = 10.0 # throws an error var2 = 10 var2 = 10.0 # no…

---

## [Julia on Big Sur arm64](https://discourse.julialang.org/t/julia-on-big-sur-arm64/52044)

<div class="topic-metadata">

**Author:** [@jheinen](https://discourse.julialang.org/u/jheinen)\
**Replies:** 1\
**Last updated:** [December 18, 2020, 1:15pm UTC](https://discourse.julialang.org/t/julia-on-big-sur-arm64/52044 "2020-12-18T13:15:25Z")

</div>

Did some manage to build Julia on macOS 11 arm64? I could successfully build GR develop, Qt 5.15.2, GCC 11 and Python 3.9.1, but I can’t compile/link Julia. Any ideas or recommendations?

---

## [Why is Module concrete?](https://discourse.julialang.org/t/why-is-module-concrete/51877)

<div class="topic-metadata">

**Author:** [@tisztamo](https://discourse.julialang.org/u/tisztamo)\
**Replies:** 12\
**Last updated:** [December 16, 2020, 4:34pm UTC](https://discourse.julialang.org/t/why-is-module-concrete/51877 "2020-12-16T16:34:49Z")

</div>

I repeatedly find myself thinking that having a unique type for every module would open possibilities, like dispatching and use of Modules as type parameters. There are workarounds, e.g.: https://github.com/SciML/Runti…

---

## [Warn/error for empty varargs? (push!, vcat, etc.)](https://discourse.julialang.org/t/warn-error-for-empty-varargs-push-vcat-etc/51919)

<div class="topic-metadata">

**Author:** [@digital\_carver](https://discourse.julialang.org/u/digital_carver)\
**Replies:** 2\
**Last updated:** [December 16, 2020, 4:04pm UTC](https://discourse.julialang.org/t/warn-error-for-empty-varargs-push-vcat-etc/51919 "2020-12-16T16:04:36Z")

</div>

a = \[1, 2\] push!(a) The second line here is effectively a nop, but it runs without any indication that something weird is going on. It’s highly unlikely that this code was intended as is, so it would be useful if we cou…

---

## [Use "end" as NamedTuple key or struct field](https://discourse.julialang.org/t/use-end-as-namedtuple-key-or-struct-field/51862)

<div class="topic-metadata">

**Author:** [@marlin](https://discourse.julialang.org/u/marlin)\
**Replies:** 5\
**Last updated:** [December 15, 2020, 7:38pm UTC](https://discourse.julialang.org/t/use-end-as-namedtuple-key-or-struct-field/51862 "2020-12-15T19:38:48Z")

</div>

I wanted to use “end” as a key of NamedTuple, however: julia\> (start = 1, end = 2) ERROR: syntax: unexpected "end" While I understand “end” is a reserved keyword, I guess there is no ambiguity if it is inside parenthes…

---

## [Compilation times for huge programs](https://discourse.julialang.org/t/compilation-times-for-huge-programs/51821)

<div class="topic-metadata">

**Author:** [@lmiq](https://discourse.julialang.org/u/lmiq)\
**Replies:** 6\
**Last updated:** [December 14, 2020, 8:41pm UTC](https://discourse.julialang.org/t/compilation-times-for-huge-programs/51821 "2020-12-14T20:41:41Z")

</div>

I have more a general curiosity about compilation times. Some software in low-level languages (C, Fortran, C++) that we download from time to time take several minutes to compile. Nevertheless, their execution needs to b…

---

## [\[Article\] Dear Google Cloud: Your Deprecation Policy is Killing You](https://discourse.julialang.org/t/article-dear-google-cloud-your-deprecation-policy-is-killing-you/45019)

<div class="topic-metadata">

**Author:** [@anon67531922](https://discourse.julialang.org/u/anon67531922)\
**Replies:** 57\
**Last updated:** [December 14, 2020, 11:51am UTC](https://discourse.julialang.org/t/article-dear-google-cloud-your-deprecation-policy-is-killing-you/45019 "2020-12-14T11:51:30Z")

</div>

This article is a work of art: Dear Google Cloud: Your Deprecation Policy is Killing You I never really thought much about this topic, but this article picqued my curiosity. Are we (Julia community) doing enough think…

---

## [Task wrapping and serialization](https://discourse.julialang.org/t/task-wrapping-and-serialization/51753)

<div class="topic-metadata">

**Author:** [@tro3](https://discourse.julialang.org/u/tro3)\
**Replies:** 1\
**Last updated:** [December 13, 2020, 11:32am UTC](https://discourse.julialang.org/t/task-wrapping-and-serialization/51753 "2020-12-13T11:32:50Z")

</div>

Looking for ideas on what direction to take. I am working on a PR to fix up the @sync/@async disappearing exception problem. Right now, if an async task throws an exception while another async task is waiting for it an…

---

## [Apple silicon](https://discourse.julialang.org/t/apple-silicon/49980)

<div class="topic-metadata">

**Author:** [@tomtom](https://discourse.julialang.org/u/tomtom)\
**Replies:** 7\
**Last updated:** [December 11, 2020, 3:07pm UTC](https://discourse.julialang.org/t/apple-silicon/49980 "2020-12-11T15:07:49Z")

</div>

finally Apple silicon Mac is available. Seems like it could be an ideal all-in-one solution that includes CPU + GPU + ML cores. It also explains why Apple has been so “strange” in the past several years dealing with Nvid…

---

## [1.6 (Soft)-Feature Freeze: Nov 8th](https://discourse.julialang.org/t/1-6-soft-feature-freeze-nov-8th/49379)

<div class="topic-metadata">

**Author:** [@kristoffer.carlsson](https://discourse.julialang.org/u/kristoffer.carlsson)\
**Replies:** 7\
**Last updated:** [December 11, 2020, 12:55am UTC](https://discourse.julialang.org/t/1-6-soft-feature-freeze-nov-8th/49379 "2020-12-11T00:55:57Z")

</div>

Julia 1.6 is shaping up to be a beast of a release, however, we are already significantly overdue with starting the release preparations. Therefore, we are announcing a (soft) feature freeze already at November 8th. The …

---

## [Ternary operator if only syntax](https://discourse.julialang.org/t/ternary-operator-if-only-syntax/51443)

<div class="topic-metadata">

**Author:** [@Azzaare](https://discourse.julialang.org/u/Azzaare)\
**Replies:** 7\
**Last updated:** [December 8, 2020, 3:26pm UTC](https://discourse.julialang.org/t/ternary-operator-if-only-syntax/51443 "2020-12-08T15:26:43Z")

</div>

Hi there! Is there any good reason to not have an if only syntax available for ternary operator where the two following syntax would be equivalent: a ? b and a ? b : nothing ?

---

## [Why Are Languages Like Python and MATLAB So Much Slower than Julia?](https://discourse.julialang.org/t/why-are-languages-like-python-and-matlab-so-much-slower-than-julia/51381)

<div class="topic-metadata">

**Author:** [@TheCedarPrince](https://discourse.julialang.org/u/TheCedarPrince)\
**Replies:** 8\
**Last updated:** [December 7, 2020, 4:55pm UTC](https://discourse.julialang.org/t/why-are-languages-like-python-and-matlab-so-much-slower-than-julia/51381 "2020-12-07T16:55:25Z")

</div>

So I understand why Julia is fast, but why specifically are Python and MATLAB, generally speaking, orders of magnitude slower than Julia when doing similar operations? To give a background on where I am at with my knowl…

---

## [How to restart CI github checks after adding a commit to JuliLang/julia?](https://discourse.julialang.org/t/how-to-restart-ci-github-checks-after-adding-a-commit-to-julilang-julia/51342)

<div class="topic-metadata">

**Author:** [@strickek](https://discourse.julialang.org/u/strickek)\
**Replies:** 2\
**Last updated:** [December 7, 2020, 3:24pm UTC](https://discourse.julialang.org/t/how-to-restart-ci-github-checks-after-adding-a-commit-to-julilang-julia/51342 "2020-12-07T15:24:42Z")

</div>

I use Code - OSS with extension “GitHub Pull Requests and Issues”. First, I pushed 3 commits to my Julia fork and then opened a pull request to JuliaLang/julia. Then CI started and 17 checks were positive, except build…

---

## [Method for counting characters in string? count("a", "batman") vs. count('a', "batman")](https://discourse.julialang.org/t/method-for-counting-characters-in-string-count-a-batman-vs-count-a-batman/51153)

<div class="topic-metadata">

**Author:** [@bradeneliason](https://discourse.julialang.org/u/bradeneliason)\
**Replies:** 7\
**Last updated:** [December 3, 2020, 4:57pm UTC](https://discourse.julialang.org/t/method-for-counting-characters-in-string-count-a-batman-vs-count-a-batman/51153 "2020-12-03T16:57:45Z")

</div>

It seems like there should be a valid method for a calling count with a character and a string. count("a", "batman") # returns 2 as expected count('a', "batman") # ERROR: MethodError: objects of type Char are not call…

---

## [How does one build Julia using git for multiple stdlibs?](https://discourse.julialang.org/t/how-does-one-build-julia-using-git-for-multiple-stdlibs/49451)

<div class="topic-metadata">

**Author:** [@tim.holy](https://discourse.julialang.org/u/tim.holy)\
**Replies:** 8\
**Last updated:** [December 3, 2020, 12:29am UTC](https://discourse.julialang.org/t/how-does-one-build-julia-using-git-for-multiple-stdlibs/49451 "2020-12-03T00:29:15Z")

</div>

One can build Julia with make DEPS\_GIT=Pkg, which causes the Pkg stdlib to be built from a git repo of Pkg rather than downloading a tarball. But make DEPS\_GIT=(Pkg Tar) doesn’t work. Any hints about how to get two or mo…

---

## [Why is \`depwarn=no\` by default?](https://discourse.julialang.org/t/why-is-depwarn-no-by-default/51094)

<div class="topic-metadata">

**Author:** [@heliosdrm](https://discourse.julialang.org/u/heliosdrm)\
**Replies:** 11\
**Last updated:** [December 2, 2020, 7:49pm UTC](https://discourse.julialang.org/t/why-is-depwarn-no-by-default/51094 "2020-12-02T19:49:51Z")

</div>

This is reported as a change in Julia 1.5. I wonder what motivated it, since deprecation warnings are so useful to adapt your code to suggested good practice, and anticipate future breaking changes.

---

## [Older builds](https://discourse.julialang.org/t/older-builds/51100)

<div class="topic-metadata">

**Author:** [@sambitdash](https://discourse.julialang.org/u/sambitdash)\
**Replies:** 4\
**Last updated:** [December 2, 2020, 7:40pm UTC](https://discourse.julialang.org/t/older-builds/51100 "2020-12-02T19:40:01Z")

</div>

Hi All, I will be interested to know if the older binaries are archived anywhere to be downloaded and tested for debugging purposes. I find it useful to see if there is any feature that has changed or there has been any…

---

## [X++ operator](https://discourse.julialang.org/t/x-operator/51066)

<div class="topic-metadata">

**Author:** [@marllos](https://discourse.julialang.org/u/marllos)\
**Replies:** 12\
**Last updated:** [December 2, 2020, 1:59pm UTC](https://discourse.julialang.org/t/x-operator/51066 "2020-12-02T13:59:11Z")

</div>

Are there plans to implement an operator like x++? Can it be created by the user? Thanks.

---

## [Recommended transition to LazyArtifacts](https://discourse.julialang.org/t/recommended-transition-to-lazyartifacts/50870)

<div class="topic-metadata">

**Author:** [@dmbates](https://discourse.julialang.org/u/dmbates)\
**Replies:** 3\
**Last updated:** [December 2, 2020, 3:55am UTC](https://discourse.julialang.org/t/recommended-transition-to-lazyartifacts/50870 "2020-12-02T03:55:16Z")

</div>

Is there a recommended path for packages that use Artifacts to transition from using Pkg.Artifacts to using LazyArtifacts I’m a bit confused about how to modify Project.toml so that it works with both the 1.5 and 1.6…

---

## [How to rewrite Julia programming language from scratch?](https://discourse.julialang.org/t/how-to-rewrite-julia-programming-language-from-scratch/50897)

<div class="topic-metadata">

**Author:** [@vedasulo](https://discourse.julialang.org/u/vedasulo)\
**Replies:** 15\
**Last updated:** [December 1, 2020, 10:37pm UTC](https://discourse.julialang.org/t/how-to-rewrite-julia-programming-language-from-scratch/50897 "2020-12-01T22:37:19Z")

</div>

I want to change julia and add python like features to it. Make syntax look like Python but inside it is Julia compiler-based. Is it possible? How can I do this? Thank you :slight\_smile:

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

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