# Internals & Design

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

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

**Page:** 47

---

## [Proposal for ∈ isa type syntax](https://discourse.julialang.org/t/proposal-for-isa-type-syntax/24667)

<div class="topic-metadata">

**Author:** [@chakravala](https://discourse.julialang.org/u/chakravala)\
**Replies:** 31\
**Last updated:** [June 4, 2019, 2:54pm UTC](https://discourse.julialang.org/t/proposal-for-isa-type-syntax/24667 "2019-06-04T14:54:51Z")

</div>

This is a proposal to extend Base.in with the isa method: julia\> Base.in(::T,t::DataType) where T = T\<:t julia\> 1 ∈ Int true julia\> 1 ∈ Float64 false or alternatively Base.in(v,t::DataType) = v isa t Would this be …

---

## [Issues with inplace updates to triangular matrices, using lmul!, rmul!, ldiv! and rdiv!](https://discourse.julialang.org/t/issues-with-inplace-updates-to-triangular-matrices-using-lmul-rmul-ldiv-and-rdiv/24887)

<div class="topic-metadata">

**Author:** [@bsxfan](https://discourse.julialang.org/u/bsxfan)\
**Replies:** 0\
**Last updated:** [June 3, 2019, 11:31am UTC](https://discourse.julialang.org/t/issues-with-inplace-updates-to-triangular-matrices-using-lmul-rmul-ldiv-and-rdiv/24887 "2019-06-03T11:31:06Z")

</div>

In the LinearAlgebra package, some provision is made for inplace updates to triangular matrices via the functions lmul!, rmul!, ldiv! and rdiv!. To be clear, this post concerns only those cases in which both arguments …

---

## [METADATA.jl still maintained?](https://discourse.julialang.org/t/metadata-jl-still-maintained/24835)

<div class="topic-metadata">

**Author:** [@Bernard\_GODARD](https://discourse.julialang.org/u/Bernard_GODARD)\
**Replies:** 3\
**Last updated:** [June 2, 2019, 9:32pm UTC](https://discourse.julialang.org/t/metadata-jl-still-maintained/24835 "2019-06-02T21:32:49Z")

</div>

After registering a new version of my package with JuliaRegistrator, tagbot reported the following issue with METADATA.jl: https://github.com/JuliaAstro/CALCEPH.jl/issues/5 This is because the repository has moved. Ho…

---

## [Keyword argument name same as variable name: Short hand notation](https://discourse.julialang.org/t/keyword-argument-name-same-as-variable-name-short-hand-notation/24838)

<div class="topic-metadata">

**Author:** [@Wikunia](https://discourse.julialang.org/u/Wikunia)\
**Replies:** 1\
**Last updated:** [June 1, 2019, 7:31pm UTC](https://discourse.julialang.org/t/keyword-argument-name-same-as-variable-name-short-hand-notation/24838 "2019-06-01T19:31:47Z")

</div>

I think it was a change from v0.6 to 1.0 that we use ; for extra named keyword arguments. Now I’m thinking this can be used to achieve some short hand notation similar to this: ECMAScript 6 and Object Literal Property Va…

---

## [How to tell which package is holding back which package](https://discourse.julialang.org/t/how-to-tell-which-package-is-holding-back-which-package/24827)

<div class="topic-metadata">

**Author:** [@yakir12](https://discourse.julialang.org/u/yakir12)\
**Replies:** 1\
**Last updated:** [June 1, 2019, 8:10am UTC](https://discourse.julialang.org/t/how-to-tell-which-package-is-holding-back-which-package/24827 "2019-06-01T08:10:03Z")

</div>

I’m having unsatisfiable requirements problems. It would be great to see which package is holding back which package. Regardless of the unsatisfiable requirements, it would be cool to know which packages are holding bac…

---

## [EXCEPTION\_ACCESS\_VIOLATION in windows64](https://discourse.julialang.org/t/exception-access-violation-in-windows64/24660)

<div class="topic-metadata">

**Author:** [@s-baumann](https://discourse.julialang.org/u/s-baumann)\
**Replies:** 3\
**Last updated:** [May 28, 2019, 5:33am UTC](https://discourse.julialang.org/t/exception-access-violation-in-windows64/24660 "2019-05-28T05:33:10Z")

</div>

I have a bug to report in Version 1.1.0 (2019-01-21) on 64 bit Windows. I get Julia crashing and the following bug report a bunch of times Please submit a bug report with steps to reproduce this fault, and any error m…

---

## [ANN: 2FA required for JuliaLang GitHub org](https://discourse.julialang.org/t/ann-2fa-required-for-julialang-github-org/24441)

<div class="topic-metadata">

**Author:** [@StefanKarpinski](https://discourse.julialang.org/u/StefanKarpinski)\
**Replies:** 3\
**Last updated:** [May 27, 2019, 6:27am UTC](https://discourse.julialang.org/t/ann-2fa-required-for-julialang-github-org/24441 "2019-05-27T06:27:10Z")

</div>

We sent emails about a year ago warning that we were going to require 2FA (two factor authentication) for membership in the JuliaLang GitHub organization and all its repos. Today I flipped the switch, which means that an…

---

## [Allowing arguments on many places in function name](https://discourse.julialang.org/t/allowing-arguments-on-many-places-in-function-name/24617)

<div class="topic-metadata">

**Author:** [@baggepinnen](https://discourse.julialang.org/u/baggepinnen)\
**Replies:** 2\
**Last updated:** [May 27, 2019, 2:12am UTC](https://discourse.julialang.org/t/allowing-arguments-on-many-places-in-function-name/24617 "2019-05-27T02:12:48Z")

</div>

Here’s a goofy topic for a rainy Sunday. I was pondering this morning how it would look if a function could accept arguments in more than one place, like the following (needle)occursin(haystack) rather than the current …

---

## [Why not cossin?](https://discourse.julialang.org/t/why-not-cossin/24484)

<div class="topic-metadata">

**Author:** [@yakir12](https://discourse.julialang.org/u/yakir12)\
**Replies:** 8\
**Last updated:** [May 22, 2019, 4:40pm UTC](https://discourse.julialang.org/t/why-not-cossin/24484 "2019-05-22T16:40:11Z")

</div>

We have sincos, why not cossin? I have no idea why sincos is here and not cossin (perhaps because of the “awkward” ss in the name…), but for me the convention of xy in a 2D coordinate means that calculating a new coordin…

---

## [Parametric method type matching issue](https://discourse.julialang.org/t/parametric-method-type-matching-issue/24383)

<div class="topic-metadata">

**Author:** [@tk3369](https://discourse.julialang.org/u/tk3369)\
**Replies:** 10\
**Last updated:** [May 19, 2019, 11:47pm UTC](https://discourse.julialang.org/t/parametric-method-type-matching-issue/24383 "2019-05-19T23:47:39Z")

</div>

Consider this function foo(x::T, y::S) where {T \<: Integer, S \<: T} = 1 I read it as y has a type of S type S should be a subtype of T type T should be a subtype of Integer But, I can do julia\> foo(1, 0x00) 1 T…

---

## [Some nice-to-have syntax](https://discourse.julialang.org/t/some-nice-to-have-syntax/24331)

<div class="topic-metadata">

**Author:** [@tkluck](https://discourse.julialang.org/u/tkluck)\
**Replies:** 16\
**Last updated:** [May 19, 2019, 2:03pm UTC](https://discourse.julialang.org/t/some-nice-to-have-syntax/24331 "2019-05-19T14:03:21Z")

</div>

Here’s two syntax features I think would be nice additions: allow newline before where, so I can nicely align my arguments: function f(x::T, y::S) where T \<: AbstractMatrix{El} where S \<: AbstractVec…

---

## [Base.nonmissingtype and Core.Compiler.typesubtract aren't exported](https://discourse.julialang.org/t/base-nonmissingtype-and-core-compiler-typesubtract-arent-exported/24367)

<div class="topic-metadata">

**Author:** [@Diego\_Javier\_Zea](https://discourse.julialang.org/u/Diego_Javier_Zea)\
**Replies:** 1\
**Last updated:** [May 19, 2019, 10:30am UTC](https://discourse.julialang.org/t/base-nonmissingtype-and-core-compiler-typesubtract-arent-exported/24367 "2019-05-19T10:30:20Z")

</div>

Hi! I was trying to create new arrays a, b with the not missing elements of A and B, respectively and I want to exclude Missing from the element type of a and b. Sadly, Base.nonmissingtype and Core.Compiler.typesubtra…

---

## [Compilation times for long static vectors are increasing](https://discourse.julialang.org/t/compilation-times-for-long-static-vectors-are-increasing/24371)

<div class="topic-metadata">

**Author:** [@baggepinnen](https://discourse.julialang.org/u/baggepinnen)\
**Replies:** 2\
**Last updated:** [May 19, 2019, 7:22am UTC](https://discourse.julialang.org/t/compilation-times-for-long-static-vectors-are-increasing/24371 "2019-05-19T07:22:19Z")

</div>

I recently got my hands on the 1.3 nightly binary and noticed a huge increase in compilation time for my code using static arrays. This goes against what I’ve noticed for most other code, which generally compiles faster …

---

## [Discussion: Context Dispatch - yes? no? questions? answers?](https://discourse.julialang.org/t/discussion-context-dispatch-yes-no-questions-answers/24194)

<div class="topic-metadata">

**Author:** [@TsurHerman](https://discourse.julialang.org/u/TsurHerman)\
**Replies:** 11\
**Last updated:** [May 17, 2019, 4:20am UTC](https://discourse.julialang.org/t/discussion-context-dispatch-yes-no-questions-answers/24194 "2019-05-17T04:20:33Z")

</div>

I wonder what the devs and community think of the direction of context dispatch as it has been recently presented in other various posts.

---

## [Basename function not working in build\_executable](https://discourse.julialang.org/t/basename-function-not-working-in-build-executable/24102)

<div class="topic-metadata">

**Author:** [@Erisme](https://discourse.julialang.org/u/Erisme)\
**Replies:** 0\
**Last updated:** [May 11, 2019, 6:25am UTC](https://discourse.julialang.org/t/basename-function-not-working-in-build-executable/24102 "2019-05-11T06:25:45Z")

</div>

Hi all, I created an executable file with build\_executable from PackageCompiler and it seems that it crash because of basename function, CMD: fatal: error thrown and no exception handler available. UndefVarError(var=…

---

## [Inconsistent rebinding rules for function arguments](https://discourse.julialang.org/t/inconsistent-rebinding-rules-for-function-arguments/23990)

<div class="topic-metadata">

**Author:** [@HFriberg-mosek](https://discourse.julialang.org/u/HFriberg-mosek)\
**Replies:** 16\
**Last updated:** [May 9, 2019, 2:32pm UTC](https://discourse.julialang.org/t/inconsistent-rebinding-rules-for-function-arguments/23990 "2019-05-09T14:32:43Z")

</div>

The function below is a minimal example of a bug I have seen a couple of times: function update!(x) dx = \[1\] # Compute change x += dx # Update x (developer intended to write x .+= dx) # Any tests here show…

---

## [Exausitve list of Expr's heads](https://discourse.julialang.org/t/exausitve-list-of-exprs-heads/24000)

<div class="topic-metadata">

**Author:** [@Marco\_Chiaffarelli](https://discourse.julialang.org/u/Marco_Chiaffarelli)\
**Replies:** 2\
**Last updated:** [May 9, 2019, 7:16am UTC](https://discourse.julialang.org/t/exausitve-list-of-exprs-heads/24000 "2019-05-09T07:16:08Z")

</div>

As the title says, is there a place where I can find an exaustive list of the symbols that are admissible (that is they lead to valid code upon evaluation) as Expr.head values? I was looking at the following https://doc…

---

## [Proposal for SharedFunctions.jl package for optional dependency management](https://discourse.julialang.org/t/proposal-for-sharedfunctions-jl-package-for-optional-dependency-management/23526)

<div class="topic-metadata">

**Author:** [@quinnj](https://discourse.julialang.org/u/quinnj)\
**Replies:** 74\
**Last updated:** [May 7, 2019, 12:00pm UTC](https://discourse.julialang.org/t/proposal-for-sharedfunctions-jl-package-for-optional-dependency-management/23526 "2019-05-07T12:00:38Z")

</div>

A few of us (@piever, @sdanisch) have been discussing the issue of optional dependencies again, unsatisfied w/ current solutions (having to invert dependency chains, Requires.jl performance issues + clunkiness, etc.). On…

---

## [Use a tool like Codacy to check common issues pattern](https://discourse.julialang.org/t/use-a-tool-like-codacy-to-check-common-issues-pattern/23855)

<div class="topic-metadata">

**Author:** [@hossein\_pourbozorg](https://discourse.julialang.org/u/hossein_pourbozorg)\
**Replies:** 11\
**Last updated:** [May 6, 2019, 1:59pm UTC](https://discourse.julialang.org/t/use-a-tool-like-codacy-to-check-common-issues-pattern/23855 "2019-05-06T13:59:31Z")

</div>

Recently, I used Codacy on my fork of Julia, and it discovered 936 issues (237 security + 36 error prone + 663 code style). So I think to suggest a discussion about “Use a tool like Codacy to check common issues pattern”…

---

## [Statistical allocation profiling](https://discourse.julialang.org/t/statistical-allocation-profiling/23816)

<div class="topic-metadata">

**Author:** [@tkluck](https://discourse.julialang.org/u/tkluck)\
**Replies:** 1\
**Last updated:** [May 4, 2019, 7:49am UTC](https://discourse.julialang.org/t/statistical-allocation-profiling/23816 "2019-05-04T07:49:29Z")

</div>

Hey all! I just posted a WIP pull request for adding statistical profiling for allocations. The idea is that, instead of tracking all allocations using julia --track-allocation \[1\], which slows down code execution sign…

---

## [Please consider renaming Sockets.PipeServer or provide a better named alias](https://discourse.julialang.org/t/please-consider-renaming-sockets-pipeserver-or-provide-a-better-named-alias/23801)

<div class="topic-metadata">

**Author:** [@jdjohnston](https://discourse.julialang.org/u/jdjohnston)\
**Replies:** 2\
**Last updated:** [May 3, 2019, 9:54pm UTC](https://discourse.julialang.org/t/please-consider-renaming-sockets-pipeserver-or-provide-a-better-named-alias/23801 "2019-05-03T21:54:07Z")

</div>

Being new to posting here, I had to put my rationalization over in \[Usage\].(Sockets.PipeServer serves named sockets not named pipes) Sorry if cross-posting is frowned upon but I thought posting here might be more likely …

---

## [Allow escape key to leave shell or pkg mode](https://discourse.julialang.org/t/allow-escape-key-to-leave-shell-or-pkg-mode/23802)

<div class="topic-metadata">

**Author:** [@tlienart](https://discourse.julialang.org/u/tlienart)\
**Replies:** 3\
**Last updated:** [May 3, 2019, 12:14pm UTC](https://discourse.julialang.org/t/allow-escape-key-to-leave-shell-or-pkg-mode/23802 "2019-05-03T12:14:37Z")

</div>

It’s maybe just me who’d like to see this but I sometimes find myself writing julia commands in pkg or shell mode and wished there was a more direct way to switch to the correct mode than go to the start of the line and …

---

## [Documenting performance model of \`empty!\`, \`sizehint!\`, \`push!\` & friends](https://discourse.julialang.org/t/documenting-performance-model-of-empty-sizehint-push-friends/23544)

<div class="topic-metadata">

**Author:** [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Replies:** 14\
**Last updated:** [May 2, 2019, 4:56am UTC](https://discourse.julialang.org/t/documenting-performance-model-of-empty-sizehint-push-friends/23544 "2019-05-02T04:56:02Z")

</div>

It is a common idiom to allocate some mutable container, push! or append! values into it, optionally by providing a sizehint!, then resize or empty! it, and reuse between runs. This leads to performant code with little …

---

## [Semi-automatic docs from slack](https://discourse.julialang.org/t/semi-automatic-docs-from-slack/23638)

<div class="topic-metadata">

**Author:** [@yakir12](https://discourse.julialang.org/u/yakir12)\
**Replies:** 0\
**Last updated:** [April 29, 2019, 7:50am UTC](https://discourse.julialang.org/t/semi-automatic-docs-from-slack/23638 "2019-04-29T07:50:58Z")

</div>

Silly question I’m sure, but I lurk on slack#makie a lot and I see many repeated questions being asked there. Slack’s lack of history leads me to wonder if there isn’t any better way of solving this. While nice, clean, a…

---

## [Rules for method dispatch with keyword arguments](https://discourse.julialang.org/t/rules-for-method-dispatch-with-keyword-arguments/23626)

<div class="topic-metadata">

**Author:** [@bkamins](https://discourse.julialang.org/u/bkamins)\
**Replies:** 4\
**Last updated:** [April 28, 2019, 9:25pm UTC](https://discourse.julialang.org/t/rules-for-method-dispatch-with-keyword-arguments/23626 "2019-04-28T21:25:51Z")

</div>

The documentation here states: Methods are dispatched based only on positional arguments, with keyword arguments processed after the matching method is identified. However, this is not precisely true as method dispat…

---

## [Local using declaration](https://discourse.julialang.org/t/local-using-declaration/23615)

<div class="topic-metadata">

**Author:** [@kim366](https://discourse.julialang.org/u/kim366)\
**Replies:** 1\
**Last updated:** [April 28, 2019, 8:36am UTC](https://discourse.julialang.org/t/local-using-declaration/23615 "2019-04-28T08:36:51Z")

</div>

In C++ you often do something like this: { using std::begin; using std::end; std::sort(begin(x), end(x)); } In Julia, when you have let using .Iterators: take take(\[1, 2, 3\], 2) |\> collect end Thi…

---

## [Should scalar divided by matrix be allowed?](https://discourse.julialang.org/t/should-scalar-divided-by-matrix-be-allowed/23502)

<div class="topic-metadata">

**Author:** [@bsxfan](https://discourse.julialang.org/u/bsxfan)\
**Replies:** 4\
**Last updated:** [April 27, 2019, 8:36pm UTC](https://discourse.julialang.org/t/should-scalar-divided-by-matrix-be-allowed/23502 "2019-04-27T20:36:48Z")

</div>

Given a square (invertible) matrix D and a scalar s, the operations s/D and D\\s are not allowed in Julia. I’d like to give some arguments both in favour and against allowing these operations. Some related discussion can …

---

## [Noisy integration tests (appveyor, travis)](https://discourse.julialang.org/t/noisy-integration-tests-appveyor-travis/23407)

<div class="topic-metadata">

**Author:** [@tkluck](https://discourse.julialang.org/u/tkluck)\
**Replies:** 6\
**Last updated:** [April 25, 2019, 10:07am UTC](https://discourse.julialang.org/t/noisy-integration-tests-appveyor-travis/23407 "2019-04-25T10:07:34Z")

</div>

I’ve submitted a few pull requests to Julia in the last year or so. I found the CI a bit noisy, and I wonder if more people have run into the same. Specifically, I’ve seen many more false positives (i.e. failures unrelat…

---

## [Building Julia with LLVM\_ASSERTIONS](https://discourse.julialang.org/t/building-julia-with-llvm-assertions/23360)

<div class="topic-metadata">

**Author:** [@xor0110](https://discourse.julialang.org/u/xor0110)\
**Replies:** 5\
**Last updated:** [April 25, 2019, 5:54am UTC](https://discourse.julialang.org/t/building-julia-with-llvm-assertions/23360 "2019-04-25T05:54:10Z")

</div>

I’m trying to build Julia with LLVM\_ASSERTIONS = 1, but I’m failing miserably so far. How exactly do I set this variable? Put it in a Make.user file on the source root and that’s it? Do I need a override LLVM\_ASSERTIONS …

---

## [Should Dates.Period be a subtype of Integer](https://discourse.julialang.org/t/should-dates-period-be-a-subtype-of-integer/23465)

<div class="topic-metadata">

**Author:** [@yakir12](https://discourse.julialang.org/u/yakir12)\
**Replies:** 5\
**Last updated:** [April 24, 2019, 8:17pm UTC](https://discourse.julialang.org/t/should-dates-period-be-a-subtype-of-integer/23465 "2019-04-24T20:17:08Z")

</div>

Because of how IntervalSets calculates a “duration”, I went into a short rabbit hole of why aren’t all the types of Dates considered as subtypes of Integers (see here for the instigator). The main reason is that periods…

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

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