# Internals & Design

**URL:** https://discourse.julialang.org/c/dev/5.md?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

---

## [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…

---

## [addall(::AbstractDict, ::AbstractDict)](https://discourse.julialang.org/t/addall-abstractdict-abstractdict/59722)

<div class="topic-metadata">

**Author:** [@Impressium](https://discourse.julialang.org/u/Impressium)\
**Replies:** 1\
**Last updated:** [April 21, 2021, 10:38am UTC](https://discourse.julialang.org/t/addall-abstractdict-abstractdict/59722 "2021-04-21T10:38:16Z")

</div>

Hey All :slight\_smile: First of all. Is there a addall(::AbstractDict, ::AbstractDict) function? I didn’t find one. My work around was: push!(copy\_to\_dict, copy\_from\_dict...) But now the problem is that if length(cop…

---

## [Describing the state of a Julia program](https://discourse.julialang.org/t/describing-the-state-of-a-julia-program/59610)

<div class="topic-metadata">

**Author:** [@jzr](https://discourse.julialang.org/u/jzr)\
**Replies:** 5\
**Last updated:** [April 20, 2021, 2:53pm UTC](https://discourse.julialang.org/t/describing-the-state-of-a-julia-program/59610 "2021-04-20T14:53:18Z")

</div>

In this GitHub comment @StefanKarpinski wrote I’ve often wanted the ability to snapshot a running program and be able to restart the snapshot – multi-shot continuations but for programs, if you will – but it seems to b…

---

## [When should things be equal?](https://discourse.julialang.org/t/when-should-things-be-equal/59345)

<div class="topic-metadata">

**Author:** [@jonniedie](https://discourse.julialang.org/u/jonniedie)\
**Replies:** 3\
**Last updated:** [April 15, 2021, 3:15pm UTC](https://discourse.julialang.org/t/when-should-things-be-equal/59345 "2021-04-15T15:15:41Z")

</div>

There is some useful (at least for me) discussion between @marius311 and I on this issue about when equality should hold between things. It was a little surprising to me that in general A == B between two arrays always…

---

## [Show(io, i::Int) allocates](https://discourse.julialang.org/t/show-io-i-int-allocates/59259)

<div class="topic-metadata">

**Author:** [@green.nsk](https://discourse.julialang.org/u/green.nsk)\
**Replies:** 8\
**Last updated:** [April 14, 2021, 4:19pm UTC](https://discourse.julialang.org/t/show-io-i-int-allocates/59259 "2021-04-14T16:19:24Z")

</div>

This was unexpected, but show(io::IO, i::Int) does allocate. It’s clearly happening because printing an integer first converts it to a string and then writes a string to io: julia/show.jl at v1.6.0 · JuliaLang/julia · G…

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

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