# Internals & Design

**URL:** https://discourse.julialang.org/c/dev/5.md?no_subcategories=false&page=31

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

**Page:** 32

---

## [Including Named Dimensions in Base](https://discourse.julialang.org/t/including-named-dimensions-in-base/63314)

<div class="topic-metadata">

**Author:** [@ParadaCarleton](https://discourse.julialang.org/u/ParadaCarleton)\
**Replies:** 2\
**Last updated:** [June 21, 2021, 6:16pm UTC](https://discourse.julialang.org/t/including-named-dimensions-in-base/63314 "2021-06-21T18:16:21Z")

</div>

I’m aware of at least seven different packages trying to add the capability to name dimensions of an array to Julia – AxisArrays, NamedDims, AxisKeys, AxisIndices, NamedArrays, LabelledArrays, and IndexedDims. Suffice it…

---

## [Suggestion: Fortran-like Keyword to Assert Function is Pure](https://discourse.julialang.org/t/suggestion-fortran-like-keyword-to-assert-function-is-pure/63047)

<div class="topic-metadata">

**Author:** [@ParadaCarleton](https://discourse.julialang.org/u/ParadaCarleton)\
**Replies:** 62\
**Last updated:** [June 20, 2021, 6:04pm UTC](https://discourse.julialang.org/t/suggestion-fortran-like-keyword-to-assert-function-is-pure/63047 "2021-06-20T18:04:08Z")

</div>

I don’t know if this is possible or how much work it would be, but I’d like it if there was some kind of keyword like pure function f() that throws an error if the function being compiled is not pure. I’ve definitely fac…

---

## [\`eps()\` (epsilon) for Complex floats?](https://discourse.julialang.org/t/eps-epsilon-for-complex-floats/59603)

<div class="topic-metadata">

**Author:** [@JeffFessler](https://discourse.julialang.org/u/JeffFessler)\
**Replies:** 4\
**Last updated:** [June 17, 2021, 5:23pm UTC](https://discourse.julialang.org/t/eps-epsilon-for-complex-floats/59603 "2021-06-17T17:23:40Z")

</div>

It is surprising to me that eps(Complex{Float32}) is unsupported currently, given that there are many applications involving complex data where one would like to specify the precision of some operation appropriately. A …

---

## [No automatic type promotion for parametric structs](https://discourse.julialang.org/t/no-automatic-type-promotion-for-parametric-structs/62664)

<div class="topic-metadata">

**Author:** [@lungben](https://discourse.julialang.org/u/lungben)\
**Replies:** 8\
**Last updated:** [June 16, 2021, 1:12pm UTC](https://discourse.julialang.org/t/no-automatic-type-promotion-for-parametric-structs/62664 "2021-06-16T13:12:39Z")

</div>

When using different (but convertible) types in a constructor, for “standard” structs the types get converted automatically, e.g. struct Struct1 x:: Float64 y end s1b = Struct1(5, 1) # output: Struct1b(5.0, 1) …

---

## [About the throw function](https://discourse.julialang.org/t/about-the-throw-function/62730)

<div class="topic-metadata">

**Author:** [@wujinq](https://discourse.julialang.org/u/wujinq)\
**Replies:** 7\
**Last updated:** [June 13, 2021, 4:48pm UTC](https://discourse.julialang.org/t/about-the-throw-function/62730 "2021-06-13T16:48:35Z")

</div>

My question is, why throw is a function in Julia? Why is it not a keyword just like the case in many other languages?

---

## [Testing changes to stdlib without remaking the whole of Julia](https://discourse.julialang.org/t/testing-changes-to-stdlib-without-remaking-the-whole-of-julia/11998)

<div class="topic-metadata">

**Author:** [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Replies:** 9\
**Last updated:** [June 10, 2021, 11:32am UTC](https://discourse.julialang.org/t/testing-changes-to-stdlib-without-remaking-the-whole-of-julia/11998 "2021-06-10T11:32:17Z")

</div>

If I make a change in stdlib/, should I make the whole Julia, or is it possible to run the unit tests for the particular library without remaking everything? I could not figure out how.

---

## [Indexing Unicode Strings](https://discourse.julialang.org/t/indexing-unicode-strings/62325)

<div class="topic-metadata">

**Author:** [@chelseas](https://discourse.julialang.org/u/chelseas)\
**Replies:** 10\
**Last updated:** [June 4, 2021, 12:48pm UTC](https://discourse.julialang.org/t/indexing-unicode-strings/62325 "2021-06-04T12:48:43Z")

</div>

Why can’t array indexing check for valid indices automatically when dealing with unicode strings? It would be nice if unicode string usage was seamless https://github.com/JuliaLang/julia/issues/40974 https://github.co…

---

## [Using GraphBLAS (from SuiteSparse) to speed up Julia sparse matrix operations](https://discourse.julialang.org/t/using-graphblas-from-suitesparse-to-speed-up-julia-sparse-matrix-operations/62147)

<div class="topic-metadata">

**Author:** [@viralbshah](https://discourse.julialang.org/u/viralbshah)\
**Replies:** 0\
**Last updated:** [May 31, 2021, 4:56pm UTC](https://discourse.julialang.org/t/using-graphblas-from-suitesparse-to-speed-up-julia-sparse-matrix-operations/62147 "2021-05-31T16:56:53Z")

</div>

I am capturing this conversation from slack here as we integrate GraphBLAS into Julia with permission from @DrTimothyAldenDavis. -viral – Tomas Pevny 7:06 AM I hope people would not mind if I ask a naive question. If…

---

## [Global variables const by default?](https://discourse.julialang.org/t/global-variables-const-by-default/33138)

<div class="topic-metadata">

**Author:** [@stephancb](https://discourse.julialang.org/u/stephancb)\
**Replies:** 24\
**Last updated:** [May 28, 2021, 2:23pm UTC](https://discourse.julialang.org/t/global-variables-const-by-default/33138 "2021-05-28T14:23:41Z")

</div>

Relatively poor performance resulting from the use of non-const global variables comes up quite often in Julia context. Wouldn’t it be better if variables were const by default? Or at least global variables. If a non-con…

---

## [Julia 1.7 feature freeze: June 1](https://discourse.julialang.org/t/julia-1-7-feature-freeze-june-1/61032)

<div class="topic-metadata">

**Author:** [@ararslan](https://discourse.julialang.org/u/ararslan)\
**Replies:** 10\
**Last updated:** [May 28, 2021, 3:37am UTC](https://discourse.julialang.org/t/julia-1-7-feature-freeze-june-1/61032 "2021-05-28T03:37:55Z")

</div>

We’ve set the feature freeze date for Julia 1.7 to Monday, June 1st. If there are any feature PRs you’d like to get into Julia 1.7, they’ll need to be in prior to that date.

---

## [Julia standard library for interval type](https://discourse.julialang.org/t/julia-standard-library-for-interval-type/60936)

<div class="topic-metadata">

**Author:** [@TheLateKronos](https://discourse.julialang.org/u/TheLateKronos)\
**Replies:** 22\
**Last updated:** [May 25, 2021, 8:26am UTC](https://discourse.julialang.org/t/julia-standard-library-for-interval-type/60936 "2021-05-25T08:26:14Z")

</div>

I see the interval type, represented by e.g. 0..100 used in a few different areas. One is obviously for interval arithmetic. But using this notation/type/syntax also seems very usefor for e.g. setting plot limits. Anothe…

---

## [Aliases for \`=\` and \`==\`](https://discourse.julialang.org/t/aliases-for-and/60004)

<div class="topic-metadata">

**Author:** [@ParadaCarleton](https://discourse.julialang.org/u/ParadaCarleton)\
**Replies:** 43\
**Last updated:** [May 25, 2021, 7:21am UTC](https://discourse.julialang.org/t/aliases-for-and/60004 "2021-05-25T07:21:44Z")

</div>

I think it makes sense to set := and =? as aliases for = and == respectively. The first one helps those coming from Python or Pascal, where := is valid syntax, and can also improve the readability of code. =? strikes me …

---

## [Is \`BigFloat\` loss of precision intended?](https://discourse.julialang.org/t/is-bigfloat-loss-of-precision-intended/61728)

<div class="topic-metadata">

**Author:** [@MarcMush](https://discourse.julialang.org/u/MarcMush)\
**Replies:** 5\
**Last updated:** [May 24, 2021, 7:03pm UTC](https://discourse.julialang.org/t/is-bigfloat-loss-of-precision-intended/61728 "2021-05-24T19:03:06Z")

</div>

when doing any operation on a BigFloat, the precision of the result always reverts back to the default one, instead of getting it from the operands. Is this behavior intended and if yes, why ? julia\> a=BigFloat("1.1", …

---

## [How to cite Julia in publications?](https://discourse.julialang.org/t/how-to-cite-julia-in-publications/23060)

<div class="topic-metadata">

**Author:** [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)\
**Replies:** 14\
**Last updated:** [May 24, 2021, 1:49pm UTC](https://discourse.julialang.org/t/how-to-cite-julia-in-publications/23060 "2021-05-24T13:49:30Z")

</div>

What is the proper citation for Julia itself? julialang.org? Or one of the foundational articles?

---

## [Improve currying in Julia Base](https://discourse.julialang.org/t/improve-currying-in-julia-base/61652)

<div class="topic-metadata">

**Author:** [@bkamins](https://discourse.julialang.org/u/bkamins)\
**Replies:** 8\
**Last updated:** [May 22, 2021, 6:11pm UTC](https://discourse.julialang.org/t/improve-currying-in-julia-base/61652 "2021-05-22T18:11:40Z")

</div>

Before opening an issue on Julia GitHub I would like to ask two things (as I might have missed the relevant discussions - I could find some issues that are related but not something directly the same). Question 1. Many …

---

## [Parsing Julia code](https://discourse.julialang.org/t/parsing-julia-code/61599)

<div class="topic-metadata">

**Author:** [@achjaj](https://discourse.julialang.org/u/achjaj)\
**Replies:** 3\
**Last updated:** [May 22, 2021, 1:15pm UTC](https://discourse.julialang.org/t/parsing-julia-code/61599 "2021-05-22T13:15:58Z")

</div>

Hello, I am working on a project where I need to parse and tokenized Julia source code. As I understand it correctly, the only available parser is the one used in REPL and is written in Scheme/Lisp. So, it looks like I n…

---

## [Dot calls / broadcasts for strings](https://discourse.julialang.org/t/dot-calls-broadcasts-for-strings/61195)

<div class="topic-metadata">

**Author:** [@fedario](https://discourse.julialang.org/u/fedario)\
**Replies:** 19\
**Last updated:** [May 20, 2021, 2:44am UTC](https://discourse.julialang.org/t/dot-calls-broadcasts-for-strings/61195 "2021-05-20T02:44:37Z")

</div>

I encountered some unexpected behavior regarding broadcasted functions for strings. Let’s say we have two strings: a = "abc" b = "abx" When checking for equality, the result was as I expected: a == b # result: false …

---

## [\`Char\` and \`broadcastable\`](https://discourse.julialang.org/t/char-and-broadcastable/61221)

<div class="topic-metadata">

**Author:** [@matthias314](https://discourse.julialang.org/u/matthias314)\
**Replies:** 8\
**Last updated:** [May 19, 2021, 2:43pm UTC](https://discourse.julialang.org/t/char-and-broadcastable/61221 "2021-05-19T14:43:31Z")

</div>

A related question: Is it intentional that broadcastable is not explicitly defined for Char in broadcast.jl? Instead the default method for iterables is used. String in contrast is treated as a scalar, as discussed above…

---

## [Julia master build failing with "static\_assert failed"](https://discourse.julialang.org/t/julia-master-build-failing-with-static-assert-failed/61384)

<div class="topic-metadata">

**Author:** [@stevengj](https://discourse.julialang.org/u/stevengj)\
**Replies:** 2\
**Last updated:** [May 19, 2021, 12:41am UTC](https://discourse.julialang.org/t/julia-master-build-failing-with-static-assert-failed/61384 "2021-05-19T00:41:47Z")

</div>

I tried rebuilding my master branch today (on macOS 10.15.7) and it failed with: CC src/jltypes.o /............../julia/src/jltypes.c:2294:25: error: static\_assert failed due to requirement '25 == sizeof ((cha…

---

## [Why does Julia require a . for broadcasting?](https://discourse.julialang.org/t/why-does-julia-require-a-for-broadcasting/61180)

<div class="topic-metadata">

**Author:** [@Beliavsky](https://discourse.julialang.org/u/Beliavsky)\
**Replies:** 4\
**Last updated:** [May 15, 2021, 5:57am UTC](https://discourse.julialang.org/t/why-does-julia-require-a-for-broadcasting/61180 "2021-05-15T05:57:21Z")

</div>

In Fortran and some other languages, you can write exp(x) whether x is a scalar or an array. In Julia, you need to write exp.(x) if x is an array. What is the benefit of requiring the dot?

---

## [Non-unicode versions of unicode functions in base/stdlib?](https://discourse.julialang.org/t/non-unicode-versions-of-unicode-functions-in-base-stdlib/13401)

<div class="topic-metadata">

**Author:** [@galenlynch](https://discourse.julialang.org/u/galenlynch)\
**Replies:** 10\
**Last updated:** [May 16, 2021, 2:03pm UTC](https://discourse.julialang.org/t/non-unicode-versions-of-unicode-functions-in-base-stdlib/13401 "2021-05-16T14:03:35Z")

</div>

I’m looking at someone else’s code in Julia 1.0 and noticed they use the ∉ (not in) function, which doesn’t seem to have an ascii equivalent (e.g. notin). I realize that it’s possible to get the same functionality by typ…

---

## [Inlining of rand -- Vector vs nx1 Matrix](https://discourse.julialang.org/t/inlining-of-rand-vector-vs-nx1-matrix/60583)

<div class="topic-metadata">

**Author:** [@MeinAccount](https://discourse.julialang.org/u/MeinAccount)\
**Replies:** 5\
**Last updated:** [May 6, 2021, 5:58pm UTC](https://discourse.julialang.org/t/inlining-of-rand-vector-vs-nx1-matrix/60583 "2021-05-06T17:58:01Z")

</div>

Using the latest Distributions and BenchmarkTools I observed the following weird / unexpected behavior on Julia 1.6.1 with -O3: julia\> @benchmark rand(Beta(2, 2), rand(Poisson(10))) BenchmarkTools.Trial: memory estim…

---

## [Why is the exception not rethrown in logging?](https://discourse.julialang.org/t/why-is-the-exception-not-rethrown-in-logging/60658)

<div class="topic-metadata">

**Author:** [@findmyway](https://discourse.julialang.org/u/findmyway)\
**Replies:** 0\
**Last updated:** [May 6, 2021, 2:45pm UTC](https://discourse.julialang.org/t/why-is-the-exception-not-rethrown-in-logging/60658 "2021-05-06T14:45:22Z")

</div>

https://github.com/JuliaLang/julia/blob/ae1aa16bc0ee608568d799e25620ba9580110f9b/base/logging.jl#L339-L346 Can anyone explain why the exception is not rethrown here? We find that this will create something inconsistent…

---

## [Multithreaded broadcast?](https://discourse.julialang.org/t/multithreaded-broadcast/26786)

<div class="topic-metadata">

**Author:** [@antoine-levitt](https://discourse.julialang.org/u/antoine-levitt)\
**Replies:** 20\
**Last updated:** [May 6, 2021, 2:43am UTC](https://discourse.julialang.org/t/multithreaded-broadcast/26786 "2021-05-06T02:43:47Z")

</div>

So, with the new improvements to threading, I’m wondering how that can be exposed easily to users. One of the most common parallelizable pattern is broadcasting (discussed in https://github.com/JuliaLang/julia/issues/197…

---

## [Looking for code of sparse matrix \* dense matrix](https://discourse.julialang.org/t/looking-for-code-of-sparse-matrix-dense-matrix/60283)

<div class="topic-metadata">

**Author:** [@Lecrapouille](https://discourse.julialang.org/u/Lecrapouille)\
**Replies:** 7\
**Last updated:** [May 5, 2021, 11:03pm UTC](https://discourse.julialang.org/t/looking-for-code-of-sparse-matrix-dense-matrix/60283 "2021-05-05T23:03:04Z")

</div>

Hi ! I may have found an issue in Julia 1.6 when doing matrix product between a sparse matrix and a full matrix when function zero() and one() and operators + and \* have been changed for a particular algebra. I’m searchi…

---

## [Yet another way to curry underscore to create anonymous fn](https://discourse.julialang.org/t/yet-another-way-to-curry-underscore-to-create-anonymous-fn/60080)

<div class="topic-metadata">

**Author:** [@qsong](https://discourse.julialang.org/u/qsong)\
**Replies:** 15\
**Last updated:** [May 4, 2021, 12:30pm UTC](https://discourse.julialang.org/t/yet-another-way-to-curry-underscore-to-create-anonymous-fn/60080 "2021-05-04T12:30:09Z")

</div>

This is a long story and ideas/PRs have been proposed (eg. #24990), but it seems still unclear when and if such a syntax will be implemented. Combining command literals with few functions from Underscores.jl and I got a …

---

## [How is Matrix defined](https://discourse.julialang.org/t/how-is-matrix-defined/60325)

<div class="topic-metadata">

**Author:** [@feanor12](https://discourse.julialang.org/u/feanor12)\
**Replies:** 8\
**Last updated:** [May 1, 2021, 12:56pm UTC](https://discourse.julialang.org/t/how-is-matrix-defined/60325 "2021-05-01T12:56:42Z")

</div>

I noticed that Matrix prints out that it is an alias. How would one define an alias for a custom type? julia\> Matrix{Int} Matrix{Int64} (alias for Array{Int64, 2})

---

## [Switching tasks mid-write()?](https://discourse.julialang.org/t/switching-tasks-mid-write/60232)

<div class="topic-metadata">

**Author:** [@green.nsk](https://discourse.julialang.org/u/green.nsk)\
**Replies:** 4\
**Last updated:** [April 29, 2021, 12:19pm UTC](https://discourse.julialang.org/t/switching-tasks-mid-write/60232 "2021-04-29T12:19:48Z")

</div>

I am running into a problem with my logging implementation, and I boiled it down to the following: function repro() @async write(stderr, "Foo", "\\n") @async write(stderr, "Bar", "\\n") nothing end re…

---

## [Details about Julia's Garbage Collector, Reference Counting?](https://discourse.julialang.org/t/details-about-julias-garbage-collector-reference-counting/18021)

<div class="topic-metadata">

**Author:** [@Juan](https://discourse.julialang.org/u/Juan)\
**Replies:** 4\
**Last updated:** [April 27, 2021, 2:58pm UTC](https://discourse.julialang.org/t/details-about-julias-garbage-collector-reference-counting/18021 "2021-04-27T14:58:16Z")

</div>

Where can I get more details about Julia’s Garbage Collector? I think it uses the “Automatic Reference Counting” method but I’d like to know more details about how it has been implemented and the expected roadmap, what …

---

## [Loading arrays from C calls](https://discourse.julialang.org/t/loading-arrays-from-c-calls/59781)

<div class="topic-metadata">

**Author:** [@Anton\_Hinneck](https://discourse.julialang.org/u/Anton_Hinneck)\
**Replies:** 10\
**Last updated:** [April 23, 2021, 10:30am UTC](https://discourse.julialang.org/t/loading-arrays-from-c-calls/59781 "2021-04-23T10:30:41Z")

</div>

Hi, I need to work with packages that wrap a C-callable library (\*.so). Code that worked previously now causes segfaults when trying to load arrays. As a test, I compiled a small library called retArray.so containing th…

[Previous page](https://discourse.julialang.org/c/dev/5.md?no_subcategories=false&page=30)

[Next page](https://discourse.julialang.org/c/dev/5.md?no_subcategories=false&page=32)
