# Internals & Design

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

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

**Page:** 46

---

## [Issetequal behavior with duplicate elements](https://discourse.julialang.org/t/issetequal-behavior-with-duplicate-elements/26238)

<div class="topic-metadata">

**Author:** [@pearlzli](https://discourse.julialang.org/u/pearlzli)\
**Replies:** 9\
**Last updated:** [July 12, 2019, 7:12pm UTC](https://discourse.julialang.org/t/issetequal-behavior-with-duplicate-elements/26238 "2019-07-12T19:12:54Z")

</div>

The issetequal docstring says that issetequal(a, b) is equivalent to a ⊆ b && b ⊆ a, but I found this isn’t the case when there are duplicate elements. In v1.0.0: julia\> a = \[1,2,3\]; julia\> b = \[1,1,2,3\]; julia\> a ⊆ b…

---

## [What is the criterion to be supported in Unicode Input in Julia REPL?](https://discourse.julialang.org/t/what-is-the-criterion-to-be-supported-in-unicode-input-in-julia-repl/26277)

<div class="topic-metadata">

**Author:** [@paalon](https://discourse.julialang.org/u/paalon)\
**Replies:** 4\
**Last updated:** [July 12, 2019, 9:03am UTC](https://discourse.julialang.org/t/what-is-the-criterion-to-be-supported-in-unicode-input-in-julia-repl/26277 "2019-07-12T09:03:10Z")

</div>

What is the criterion to be adopted in Unicode Input in Julia REPL? The list (Unicode Input · The Julia Language) shows most of the famous LaTeX completion sequences are supported but some alternative names (such as \\lo…

---

## [Destructuring & setindex!](https://discourse.julialang.org/t/destructuring-setindex/25475)

<div class="topic-metadata">

**Author:** [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Replies:** 10\
**Last updated:** [July 11, 2019, 7:11am UTC](https://discourse.julialang.org/t/destructuring-setindex/25475 "2019-07-11T07:11:20Z")

</div>

Tuple destructuring works even if the variables on the LHS are x\[i...\] expressions, eg g(y) = y, 2 \* y function foo!(x1, x2, y) for i in eachindex(y) x1\[i\], x2\[i\] = g(y\[i\]) end x1, x2 end x1 = zero…

---

## [Parametric bits](https://discourse.julialang.org/t/parametric-bits/26117)

<div class="topic-metadata">

**Author:** [@bramtayl](https://discourse.julialang.org/u/bramtayl)\
**Replies:** 15\
**Last updated:** [July 9, 2019, 6:52pm UTC](https://discourse.julialang.org/t/parametric-bits/26117 "2019-07-09T18:52:56Z")

</div>

Float{64} would make a lot more sense than Float64, no? Julia exports at least 13 float/integer types, and with parametric types it could cut down to three (signed, unsigned, and float). Maybe something to consider for 2…

---

## [Short type declarations (syntax sugar)?](https://discourse.julialang.org/t/short-type-declarations-syntax-sugar/26114)

<div class="topic-metadata">

**Author:** [@sairus7](https://discourse.julialang.org/u/sairus7)\
**Replies:** 26\
**Last updated:** [July 9, 2019, 12:22pm UTC](https://discourse.julialang.org/t/short-type-declarations-syntax-sugar/26114 "2019-07-09T12:22:14Z")

</div>

We already have some short array syntax, like Array{Int, 1} == Vector{Int} Also, constructor short form: Int\[\] (but not a type declaration) Are there are any short forms for complex types declarations in function signa…

---

## [Differences smaller than Dates.Milliseconds are ignored](https://discourse.julialang.org/t/differences-smaller-than-dates-milliseconds-are-ignored/26068)

<div class="topic-metadata">

**Author:** [@yakir12](https://discourse.julialang.org/u/yakir12)\
**Replies:** 7\
**Last updated:** [July 6, 2019, 4:20pm UTC](https://discourse.julialang.org/t/differences-smaller-than-dates-milliseconds-are-ignored/26068 "2019-07-06T16:20:10Z")

</div>

I have a really hard time understanding this: julia\> using Dates julia\> dt1 = DateTime(1) 0001-01-01T00:00:00 julia\> for timeperiod in (Hour, Minute, Second, Millisecond, Microsecond, Nanosecond) dt2 = dt1 …

---

## [Julia written in Julia?](https://discourse.julialang.org/t/julia-written-in-julia/25781)

<div class="topic-metadata">

**Author:** [@feanor12](https://discourse.julialang.org/u/feanor12)\
**Replies:** 37\
**Last updated:** [July 6, 2019, 6:01am UTC](https://discourse.julialang.org/t/julia-written-in-julia/25781 "2019-07-06T06:01:48Z")

</div>

Is it possible to write Julia completely in Julia using the PackageCompiler? Why is C/C++ needed at the moment? Just curious. :slight\_smile:

---

## [Multithreading for recursive operations](https://discourse.julialang.org/t/multithreading-for-recursive-operations/26020)

<div class="topic-metadata">

**Author:** [@foobar\_lv2](https://discourse.julialang.org/u/foobar_lv2)\
**Replies:** 2\
**Last updated:** [July 5, 2019, 12:13pm UTC](https://discourse.julialang.org/t/multithreading-for-recursive-operations/26020 "2019-07-05T12:13:33Z")

</div>

This is a question for both the current state and planned future for multithreading. One of the more common opportunities for parallelism is tree-like recursion (like e.g. for sorting). function do\_stuff!(args) left, r…

---

## [Why can't we merge Missing and Nothing?](https://discourse.julialang.org/t/why-cant-we-merge-missing-and-nothing/25793)

<div class="topic-metadata">

**Author:** [@HFriberg-mosek](https://discourse.julialang.org/u/HFriberg-mosek)\
**Replies:** 20\
**Last updated:** [July 4, 2019, 2:41pm UTC](https://discourse.julialang.org/t/why-cant-we-merge-missing-and-nothing/25793 "2019-07-04T14:41:39Z")

</div>

I get that Missing and Nothing serves different purposes. They both encode that there is no particular value available, but the former indicates that usage is permitted as long as it is consistent with the multivalued st…

---

## [Connect to streams via uv](https://discourse.julialang.org/t/connect-to-streams-via-uv/26004)

<div class="topic-metadata">

**Author:** [@Kane](https://discourse.julialang.org/u/Kane)\
**Replies:** 0\
**Last updated:** [July 4, 2019, 7:57am UTC](https://discourse.julialang.org/t/connect-to-streams-via-uv/26004 "2019-07-04T07:57:35Z")

</div>

Hello, I am trying to connect our frontend to Julia via the provided uv streams (JL\_STOUT,…). The goal is to receive all outputs and show them in our own terminal. However when calling uv\_is\_readable it returns 0. Also …

---

## [Libssh2 on Windows](https://discourse.julialang.org/t/libssh2-on-windows/14193)

<div class="topic-metadata">

**Author:** [@GunnarFarneback](https://discourse.julialang.org/u/GunnarFarneback)\
**Replies:** 7\
**Last updated:** [July 3, 2019, 4:06am UTC](https://discourse.julialang.org/t/libssh2-on-windows/14193 "2019-07-03T04:06:43Z")

</div>

Short summary: libssh2.dll in the official Windows binaries is out of date with respect to available ciphers and needs upgrade in order for Pkg to keep working with packages on private git servers using ssh protocol, if …

---

## [Mutation of constants](https://discourse.julialang.org/t/mutation-of-constants/25894)

<div class="topic-metadata">

**Author:** [@tk3369](https://discourse.julialang.org/u/tk3369)\
**Replies:** 6\
**Last updated:** [July 1, 2019, 3:43pm UTC](https://discourse.julialang.org/t/mutation-of-constants/25894 "2019-07-01T15:43:58Z")

</div>

As documented, why do we even allow these in the first place? Why and how would they be useful? Constant mutated to a different memory location without warning. julia\> const s1 = "1" "1" julia\> s2 = "1" "1" julia\> …

---

## [Should \`dlopen\` not first search the libraries loaded already like \`dllist\` ones?](https://discourse.julialang.org/t/should-dlopen-not-first-search-the-libraries-loaded-already-like-dllist-ones/25719)

<div class="topic-metadata">

**Author:** [@sambitdash](https://discourse.julialang.org/u/sambitdash)\
**Replies:** 7\
**Last updated:** [June 28, 2019, 10:06am UTC](https://discourse.julialang.org/t/should-dlopen-not-first-search-the-libraries-loaded-already-like-dllist-ones/25719 "2019-06-28T10:06:32Z")

</div>

Hi All, I am trying to search for libc so that I can pass the malloc function to a library. julia\> dlopen("libc") ERROR: could not load library "libc" /usr/lib/x86\_64-linux-gnu/libc.so: invalid ELF header Stacktrace: …

---

## [JuliaRegistrator register past version](https://discourse.julialang.org/t/juliaregistrator-register-past-version/25765)

<div class="topic-metadata">

**Author:** [@monty](https://discourse.julialang.org/u/monty)\
**Replies:** 5\
**Last updated:** [June 27, 2019, 2:19pm UTC](https://discourse.julialang.org/t/juliaregistrator-register-past-version/25765 "2019-06-27T14:19:32Z")

</div>

I was tagging versions but i did notice that attobot is not working. How I can use JuliaRegistrator to trigger existing githib tags/commits. For example, https://github.com/madsjulia/Mads.jl/commit/b5b53b6deaef990738fc0…

---

## [\`transcode(String, arr)\` sets the \`arr\` length to 0 elements](https://discourse.julialang.org/t/transcode-string-arr-sets-the-arr-length-to-0-elements/25751)

<div class="topic-metadata">

**Author:** [@sambitdash](https://discourse.julialang.org/u/sambitdash)\
**Replies:** 2\
**Last updated:** [June 27, 2019, 1:43pm UTC](https://discourse.julialang.org/t/transcode-string-arr-sets-the-arr-length-to-0-elements/25751 "2019-06-27T13:43:55Z")

</div>

Hi All, Is this behavior of transcode expected? Should transcode not be a function without side effects? regards, Sambit julia\> PADDING1 = \[0x28, 0xBF, 0x4E, 0x5E\] 4-element Array{UInt8,1}: 0x28 0xbf 0x…

---

## [Merging a long-active development branch of a package](https://discourse.julialang.org/t/merging-a-long-active-development-branch-of-a-package/25730)

<div class="topic-metadata">

**Author:** [@dmbates](https://discourse.julialang.org/u/dmbates)\
**Replies:** 5\
**Last updated:** [June 26, 2019, 6:49pm UTC](https://discourse.julialang.org/t/merging-a-long-active-development-branch-of-a-package/25730 "2019-06-26T18:49:50Z")

</div>

Those who follow the JuliaStats world will be aware that a major upgrade of StatsModels just landed as v"0.6.0", aka “Terms 2.0”. Thanks to @dave.f.kleinschmidt for leading the development on this. I have a “terms2.0” …

---

## [Interaction of macros and comments with ; in REPL](https://discourse.julialang.org/t/interaction-of-macros-and-comments-with-in-repl/25544)

<div class="topic-metadata">

**Author:** [@bkamins](https://discourse.julialang.org/u/bkamins)\
**Replies:** 5\
**Last updated:** [June 24, 2019, 10:16am UTC](https://discourse.julialang.org/t/interaction-of-macros-and-comments-with-in-repl/25544 "2019-06-24T10:16:27Z")

</div>

I was quite surprised to see the following in REPL: julia\> macro g(ex) "Some value" end @g (macro with 1 method) julia\> @g 1 "Some value" julia\> @g 1; julia\> @g 1 # comment "Some value" julia\> @g 1; # …

---

## [Adding more lapack wrappers to base julia](https://discourse.julialang.org/t/adding-more-lapack-wrappers-to-base-julia/25490)

<div class="topic-metadata">

**Author:** [@gasagna](https://discourse.julialang.org/u/gasagna)\
**Replies:** 1\
**Last updated:** [June 23, 2019, 12:08pm UTC](https://discourse.julialang.org/t/adding-more-lapack-wrappers-to-base-julia/25490 "2019-06-23T12:08:27Z")

</div>

I find myself in need of few additional LAPACK routines that are not currently wrapped in base Julia. What is the policy for adding new wrappers, should I make a PR?

---

## [Behavior of \`CartesianIndex\` for \`Bool\`](https://discourse.julialang.org/t/behavior-of-cartesianindex-for-bool/25532)

<div class="topic-metadata">

**Author:** [@bkamins](https://discourse.julialang.org/u/bkamins)\
**Replies:** 0\
**Last updated:** [June 21, 2019, 5:52pm UTC](https://discourse.julialang.org/t/behavior-of-cartesianindex-for-bool/25532 "2019-06-21T17:52:47Z")

</div>

The documentation of CartesianIndex states: In particular, A\[I\] is equivalent to A\[i,j,k...\] Currently it does not hold if i etc. is Bool. For example: julia\> x = rand(2,2) 2×2 Array{Float64,2}: 0.937975 0.7768 0…

---

## [Subsetting uninitialized arrays](https://discourse.julialang.org/t/subsetting-uninitialized-arrays/25449)

<div class="topic-metadata">

**Author:** [@bkamins](https://discourse.julialang.org/u/bkamins)\
**Replies:** 7\
**Last updated:** [June 21, 2019, 10:01am UTC](https://discourse.julialang.org/t/subsetting-uninitialized-arrays/25449 "2019-06-21T10:01:12Z")

</div>

You can subset an uninitialized vector, e.g.: julia\> v = Vector{Any}(undef, 4) 4-element Array{Any,1}: #undef #undef #undef #undef julia\> v\[:\] 4-element Array{Any,1}: #undef #undef #undef #undef But not a matr…

---

## [What happened to \`T?\`](https://discourse.julialang.org/t/what-happened-to-t/25480)

<div class="topic-metadata">

**Author:** [@gdkrmr](https://discourse.julialang.org/u/gdkrmr)\
**Replies:** 19\
**Last updated:** [June 21, 2019, 5:06am UTC](https://discourse.julialang.org/t/what-happened-to-t/25480 "2019-06-21T05:06:51Z")

</div>

If memory serves me, once upon a time there was a proposal to simplify syntax for missing values: T? == Union{T, Missing} Currently I have to handle a lot of missing values and find the extra typing quite annoying. I…

---

## [Splatting extra keyword arguments?](https://discourse.julialang.org/t/splatting-extra-keyword-arguments/25423)

<div class="topic-metadata">

**Author:** [@dstarerstor](https://discourse.julialang.org/u/dstarerstor)\
**Replies:** 4\
**Last updated:** [June 19, 2019, 4:19am UTC](https://discourse.julialang.org/t/splatting-extra-keyword-arguments/25423 "2019-06-19T04:19:39Z")

</div>

I recently tried to splat a collection of extra keyword arguments from one function into another and found it very weird that they are interpreted as non-keyword argument pairs by the second function. For example, take t…

---

## [Relaxing constraint of Complex](https://discourse.julialang.org/t/relaxing-constraint-of-complex/25317)

<div class="topic-metadata">

**Author:** [@adamnemecek](https://discourse.julialang.org/u/adamnemecek)\
**Replies:** 10\
**Last updated:** [June 19, 2019, 12:05am UTC](https://discourse.julialang.org/t/relaxing-constraint-of-complex/25317 "2019-06-19T00:05:21Z")

</div>

Hello, currently Complex is defined as follows struct Complex{T\<:Real} \<: Number re::T im::T end I think that it would make sense to relax the T requirement from Real to Number (or something else). E.g. Maybe …

---

## [Usage of local keyword in global scope](https://discourse.julialang.org/t/usage-of-local-keyword-in-global-scope/25325)

<div class="topic-metadata">

**Author:** [@bkamins](https://discourse.julialang.org/u/bkamins)\
**Replies:** 1\
**Last updated:** [June 15, 2019, 10:04am UTC](https://discourse.julialang.org/t/usage-of-local-keyword-in-global-scope/25325 "2019-06-15T10:04:08Z")

</div>

Currently local keyword is allowed in global scope. You can write things like: local x = 1 or local f() = 1 However, bindings to x nor f are not introduced in global scope and defining f effectively is equivalent to …

---

## [Should there be a macro or command for variable-depth nested loops?](https://discourse.julialang.org/t/should-there-be-a-macro-or-command-for-variable-depth-nested-loops/25199)

<div class="topic-metadata">

**Author:** [@frank](https://discourse.julialang.org/u/frank)\
**Replies:** 8\
**Last updated:** [June 13, 2019, 6:54pm UTC](https://discourse.julialang.org/t/should-there-be-a-macro-or-command-for-variable-depth-nested-loops/25199 "2019-06-13T18:54:40Z")

</div>

Recently I needed N (a variable number of) nested for-loops. A vector len contained the max counter of each loop. The dumb way would have been this: if n==1 for a=1:len\[1\] # Loop body end elseif n==2 …

---

## [Constant propagation with Val and non-struct types](https://discourse.julialang.org/t/constant-propagation-with-val-and-non-struct-types/25100)

<div class="topic-metadata">

**Author:** [@bug-brain](https://discourse.julialang.org/u/bug-brain)\
**Replies:** 5\
**Last updated:** [June 12, 2019, 6:18am UTC](https://discourse.julialang.org/t/constant-propagation-with-val-and-non-struct-types/25100 "2019-06-12T06:18:05Z")

</div>

The type Val can be used to handily associate values with constants by writing a method of a function for each pair. It’s even handier to define a function that wraps the values in Val so you don’t have to type it. For …

---

## [What's the easiest stdlib if one wants to learn (and contribute) Julia?](https://discourse.julialang.org/t/whats-the-easiest-stdlib-if-one-wants-to-learn-and-contribute-julia/25062)

<div class="topic-metadata">

**Author:** [@affans](https://discourse.julialang.org/u/affans)\
**Replies:** 3\
**Last updated:** [June 9, 2019, 11:03am UTC](https://discourse.julialang.org/t/whats-the-easiest-stdlib-if-one-wants-to-learn-and-contribute-julia/25062 "2019-06-09T11:03:36Z")

</div>

I’ve been programming in Julia since the 0.5 days. However, I find that my understanding of certain language features, multiple dispatch, macros, and package manager is weak. The documentation helps, but I find that writ…

---

## [Embedding Julia while maintaining task scheduler](https://discourse.julialang.org/t/embedding-julia-while-maintaining-task-scheduler/24851)

<div class="topic-metadata">

**Author:** [@cdsousa](https://discourse.julialang.org/u/cdsousa)\
**Replies:** 3\
**Last updated:** [June 8, 2019, 11:05pm UTC](https://discourse.julialang.org/t/embedding-julia-while-maintaining-task-scheduler/24851 "2019-06-08T23:05:08Z")

</div>

Hi, I’ve been trying to be able to embed Julia in a C++ application and access it from multiple (C++) threads (Why? Some context here). After start learning how Julia “managed” threads work, I start trying to add method…

---

## [ClickHouse database and Julia](https://discourse.julialang.org/t/clickhouse-database-and-julia/14281)

<div class="topic-metadata">

**Author:** [@Yifan\_Liu](https://discourse.julialang.org/u/Yifan_Liu)\
**Replies:** 4\
**Last updated:** [June 5, 2019, 3:10pm UTC](https://discourse.julialang.org/t/clickhouse-database-and-julia/14281 "2019-06-05T15:10:58Z")

</div>

For the last 3 years, I have been tortured by the slowness of Postgresql, and recently I came across this open source columnar database called clickhouse. The speed is unexpectedly fast, especially when I need to run a l…

---

## [Error while building julia's documentation](https://discourse.julialang.org/t/error-while-building-julias-documentation/24951)

<div class="topic-metadata">

**Author:** [@cserteGT3](https://discourse.julialang.org/u/cserteGT3)\
**Replies:** 9\
**Last updated:** [June 5, 2019, 1:50pm UTC](https://discourse.julialang.org/t/error-while-building-julias-documentation/24951 "2019-06-05T13:50:42Z")

</div>

I found a small formatting issue in the documentation that I would like to fix (and also learn from the process). Cloned my fork of julia and tried to run make docs (as described in the contribution guide and the documen…

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

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