# Internals & Design

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

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

**Page:** 14

---

## [Does map have a traversal order?](https://discourse.julialang.org/t/does-map-have-a-traversal-order/105755)

<div class="topic-metadata">

**Author:** [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Replies:** 3\
**Last updated:** [November 3, 2023, 1:43pm UTC](https://discourse.julialang.org/t/does-map-have-a-traversal-order/105755 "2023-11-03T13:43:19Z")

</div>

Suppose that in map(f, a1, ...) the function f has side-effects, and a1 etc are ordered collections (eg arrays or similar). Is map guaranteed to traverse the arguments in the linear-index ordering, or could that theoret…

---

## [Should the manual discuss type parameters of keyword arguments?](https://discourse.julialang.org/t/should-the-manual-discuss-type-parameters-of-keyword-arguments/105752)

<div class="topic-metadata">

**Author:** [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Replies:** 1\
**Last updated:** [November 3, 2023, 12:34pm UTC](https://discourse.julialang.org/t/should-the-manual-discuss-type-parameters-of-keyword-arguments/105752 "2023-11-03T12:34:14Z")

</div>

Type parameters for keyword arguments are currently a convenience form, equivalent to saving the result of a typeof, perform a subtype check when that is specified. Eg foo(; a::C) where {C \<: Integer} = :C is more o…

---

## [Can someone explain closures to me](https://discourse.julialang.org/t/can-someone-explain-closures-to-me/105605)

<div class="topic-metadata">

**Author:** [@HashBrown](https://discourse.julialang.org/u/HashBrown)\
**Replies:** 13\
**Last updated:** [November 2, 2023, 8:21pm UTC](https://discourse.julialang.org/t/can-someone-explain-closures-to-me/105605 "2023-11-02T20:21:41Z")

</div>

Hi, I am familiar with what a closure is (a function that captures state outside its scope) but I am interested in how they work in Julia so that I can understand performance. In Performance Tips there is a section dedi…

---

## [Reconciling dynamic multimethod dispatch, parametric types and static compilation](https://discourse.julialang.org/t/reconciling-dynamic-multimethod-dispatch-parametric-types-and-static-compilation/105631)

<div class="topic-metadata">

**Author:** [@ToucheSir](https://discourse.julialang.org/u/ToucheSir)\
**Replies:** 0\
**Last updated:** [October 31, 2023, 8:14pm UTC](https://discourse.julialang.org/t/reconciling-dynamic-multimethod-dispatch-parametric-types-and-static-compilation/105631 "2023-10-31T20:14:28Z")

</div>

This is a spin-off from Roadmap for small binaries - #99 by thautwarm. My impression is that no language has managed to crack all three of these things, but it would be great if those who understand this design space bet…

---

## [Feasibility of adding multiple inheritance to Julia](https://discourse.julialang.org/t/feasibility-of-adding-multiple-inheritance-to-julia/105382)

<div class="topic-metadata">

**Author:** [@CameronBieganek](https://discourse.julialang.org/u/CameronBieganek)\
**Replies:** 36\
**Last updated:** [October 31, 2023, 6:03pm UTC](https://discourse.julialang.org/t/feasibility-of-adding-multiple-inheritance-to-julia/105382 "2023-10-31T18:03:11Z")

</div>

The topic of interfaces came up again in one of the correctness threads. My minimally informed opinion is that the best solution would be to add multiple inheritance to the language. How feasible would it be to add mult…

---

## [RFC: add a Type called AnyType that's subtyped by all other types except Any](https://discourse.julialang.org/t/rfc-add-a-type-called-anytype-thats-subtyped-by-all-other-types-except-any/93956)

<div class="topic-metadata">

**Author:** [@nsajko](https://discourse.julialang.org/u/nsajko)\
**Replies:** 20\
**Last updated:** [October 26, 2023, 11:38pm UTC](https://discourse.julialang.org/t/rfc-add-a-type-called-anytype-thats-subtyped-by-all-other-types-except-any/93956 "2023-10-26T23:38:58Z")

</div>

Add AnyType between Any and all other types Situation The discussions here on Discourse and on Github make it clear that there are disagreements and confusion within the Julia community (including both users and core mem…

---

## [Julia CI checks - buildkite -](https://discourse.julialang.org/t/julia-ci-checks-buildkite/105386)

<div class="topic-metadata">

**Author:** [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Replies:** 4\
**Last updated:** [October 26, 2023, 9:37am UTC](https://discourse.julialang.org/t/julia-ci-checks-buildkite/105386 "2023-10-26T09:37:33Z")

</div>

When I look at some Julia pull requests I see two checks with the names: Build buildkite/xxx for example here: Backports release 1.10 by KristofferC · Pull Request #51563 · JuliaLang/julia · GitHub (scroll to the end) …

---

## [Are Revise, PackageCompiler, and Pkg "part of Julia", and how do we better share them?](https://discourse.julialang.org/t/are-revise-packagecompiler-and-pkg-part-of-julia-and-how-do-we-better-share-them/99491)

<div class="topic-metadata">

**Author:** [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Replies:** 46\
**Last updated:** [October 25, 2023, 3:32pm UTC](https://discourse.julialang.org/t/are-revise-packagecompiler-and-pkg-part-of-julia-and-how-do-we-better-share-them/99491 "2023-10-25T15:32:29Z")

</div>

Is Revise.jl an essential part of what Julia is? I think a lot of people here would think so, but one common complaint is that is lives in a personal repo (@tim.holy ). I see this on Hacker News and other things a lot: i…

---

## [Unifying unwrapping single-value wrappers](https://discourse.julialang.org/t/unifying-unwrapping-single-value-wrappers/105003)

<div class="topic-metadata">

**Author:** [@schlichtanders](https://discourse.julialang.org/u/schlichtanders)\
**Replies:** 56\
**Last updated:** [October 21, 2023, 8:20am UTC](https://discourse.julialang.org/t/unifying-unwrapping-single-value-wrappers/105003 "2023-10-21T08:20:43Z")

</div>

I am stumbling upon that there does not exist a unified method to unwrap a singleton container. This is a feature often wanted, but Julia misses this so far. Some types don’t even have a single unwrapper. I want to sugg…

---

## [Would it make sense to roll back module definitions which error half-way?](https://discourse.julialang.org/t/would-it-make-sense-to-roll-back-module-definitions-which-error-half-way/105228)

<div class="topic-metadata">

**Author:** [@nsajko](https://discourse.julialang.org/u/nsajko)\
**Replies:** 0\
**Last updated:** [October 20, 2023, 11:25am UTC](https://discourse.julialang.org/t/would-it-make-sense-to-roll-back-module-definitions-which-error-half-way/105228 "2023-10-20T11:25:44Z")

</div>

Consider this: julia\> module M const a = 1 error("e") const b = 2 end ERROR: e Stacktrace: \[1\] error(s::String) @ Base ./error.jl:35 \[2\] top-level scope @ REPL\[1\]:3 julia\> M.a …

---

## [How to discourage macros: disable automerge of General registry PRs?](https://discourse.julialang.org/t/how-to-discourage-macros-disable-automerge-of-general-registry-prs/104529)

<div class="topic-metadata">

**Author:** [@nsajko](https://discourse.julialang.org/u/nsajko)\
**Replies:** 41\
**Last updated:** [October 19, 2023, 9:49pm UTC](https://discourse.julialang.org/t/how-to-discourage-macros-disable-automerge-of-general-registry-prs/104529 "2023-10-19T21:49:32Z")

</div>

It seems to me that macros are defined much too often in the Julia ecosystem and the (error-prone) definitions of such macros are often very complex. FWIW, the Julia Manual page on metaprogramming already heavily discou…

---

## [Output distribution of rand()](https://discourse.julialang.org/t/output-distribution-of-rand/12192)

<div class="topic-metadata">

**Author:** [@foobar\_lv2](https://discourse.julialang.org/u/foobar_lv2)\
**Replies:** 6\
**Last updated:** [October 19, 2023, 1:13pm UTC](https://discourse.julialang.org/t/output-distribution-of-rand/12192 "2023-10-19T13:13:41Z")

</div>

I wanted to ask about the output distribution of floating-point rand(): Naively, I would have expected the following distribution: -the sign bit is zero -the mantissa is a random bitstring -the signigicant is an expon…

---

## [Can I mimick finalizing for immutables / is an immutable file handler unfeasible?](https://discourse.julialang.org/t/can-i-mimick-finalizing-for-immutables-is-an-immutable-file-handler-unfeasible/104687)

<div class="topic-metadata">

**Author:** [@Benny](https://discourse.julialang.org/u/Benny)\
**Replies:** 16\
**Last updated:** [October 15, 2023, 9:30am UTC](https://discourse.julialang.org/t/can-i-mimick-finalizing-for-immutables-is-an-immutable-file-handler-unfeasible/104687 "2023-10-15T09:30:20Z")

</div>

I can’t think of other uses for destructors/finalizers in a language without manual deallocations, so I’m using file-closing as an example. It seems to me that I could implement open to open a file and construct an immut…

---

## [Loops, allocations and helping the coder](https://discourse.julialang.org/t/loops-allocations-and-helping-the-coder/104733)

<div class="topic-metadata">

**Author:** [@Paul\_Soderlind](https://discourse.julialang.org/u/Paul_Soderlind)\
**Replies:** 26\
**Last updated:** [October 10, 2023, 9:10pm UTC](https://discourse.julialang.org/t/loops-allocations-and-helping-the-coder/104733 "2023-10-10T21:10:12Z")

</div>

One of the performance pitfalls in Julia is allocations, especially in loops. For instance, with lots of arrays being created inside a long loop. This can be handled by creating “workspaces” and then filling/overwriting…

---

## [RFC: give up on SemVer](https://discourse.julialang.org/t/rfc-give-up-on-semver/103536)

<div class="topic-metadata">

**Author:** [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Replies:** 36\
**Last updated:** [October 9, 2023, 8:46pm UTC](https://discourse.julialang.org/t/rfc-give-up-on-semver/103536 "2023-10-09T20:46:54Z")

</div>

I am opening a new topic because I do not want to sidetrack the one about main(). This is just the latest of “minor breaking changes” that are technically breaking, yet practically harmless and easy to deal with. SemVer …

---

## ["contains" as operator?](https://discourse.julialang.org/t/contains-as-operator/74715)

<div class="topic-metadata">

**Author:** [@Chris\_Green](https://discourse.julialang.org/u/Chris_Green)\
**Replies:** 21\
**Last updated:** [October 3, 2023, 6:48am UTC](https://discourse.julialang.org/t/contains-as-operator/74715 "2023-10-03T06:48:41Z")

</div>

I wondered why you can’t search for a substring with “in”, like “za” in “pizza” While it would be nice, and match python, after searching, I can also understand the difference between “in” searching for an element, not…

---

## [Float construction function is lossy](https://discourse.julialang.org/t/float-construction-function-is-lossy/104415)

<div class="topic-metadata">

**Author:** [@jar1](https://discourse.julialang.org/u/jar1)\
**Replies:** 6\
**Last updated:** [September 30, 2023, 11:14pm UTC](https://discourse.julialang.org/t/float-construction-function-is-lossy/104415 "2023-09-30T23:14:21Z")

</div>

julia\> let x = 2^53 + 1 Int(float(x)) - x end -1 How do we feel about float(x) being lossy? That behavior is not documented. I’m wondering if it should throw an error.

---

## [Make Julia’s Error Codes Even Better Than Elm’s](https://discourse.julialang.org/t/make-julia-s-error-codes-even-better-than-elm-s/87409)

<div class="topic-metadata">

**Author:** [@NickW3101](https://discourse.julialang.org/u/NickW3101)\
**Replies:** 61\
**Last updated:** [September 30, 2023, 5:21pm UTC](https://discourse.julialang.org/t/make-julia-s-error-codes-even-better-than-elm-s/87409 "2023-09-30T17:21:59Z")

</div>

Extremely user friendly and helpful for new users

---

## [Is there a good reason to have an LTS version of Julia?](https://discourse.julialang.org/t/is-there-a-good-reason-to-have-an-lts-version-of-julia/104179)

<div class="topic-metadata">

**Author:** [@Ronis\_BR](https://discourse.julialang.org/u/Ronis_BR)\
**Replies:** 22\
**Last updated:** [September 29, 2023, 3:29pm UTC](https://discourse.julialang.org/t/is-there-a-good-reason-to-have-an-lts-version-of-julia/104179 "2023-09-29T15:29:01Z")

</div>

Hi! I was wondering what is the purpose of an LTS version of Julia today? I understand that close to 1.0 release, an LTS version would be important because the language was changing very fast. However, given that relea…

---

## [Anyone has experiences issues with Mac OS Sonoma 14.0?](https://discourse.julialang.org/t/anyone-has-experiences-issues-with-mac-os-sonoma-14-0/104276)

<div class="topic-metadata">

**Author:** [@Leon6](https://discourse.julialang.org/u/Leon6)\
**Replies:** 3\
**Last updated:** [September 29, 2023, 2:50am UTC](https://discourse.julialang.org/t/anyone-has-experiences-issues-with-mac-os-sonoma-14-0/104276 "2023-09-29T02:50:54Z")

</div>

I’m tempted to upgrade to Mac OS Sonoma 14.0. Is that a good idea? Does anyone experience any Julia issues with the new OS? Thanks

---

## [Create concious compiler messages](https://discourse.julialang.org/t/create-concious-compiler-messages/104303)

<div class="topic-metadata">

**Author:** [@ShalokShalom](https://discourse.julialang.org/u/ShalokShalom)\
**Replies:** 4\
**Last updated:** [September 27, 2023, 3:52pm UTC](https://discourse.julialang.org/t/create-concious-compiler-messages/104303 "2023-09-27T15:52:21Z")

</div>

Hi :+1:t3: As a newbie, one of the hardest parts of Julia for me yet, is clearly its error messages. :frowning: I find them often to be more confusing than helpful, and I am aware, that a part of this comes from the na…

---

## [Display NTuples with more than one element as NTuples rather than Tuples?](https://discourse.julialang.org/t/display-ntuples-with-more-than-one-element-as-ntuples-rather-than-tuples/104143)

<div class="topic-metadata">

**Author:** [@jishnub](https://discourse.julialang.org/u/jishnub)\
**Replies:** 4\
**Last updated:** [September 25, 2023, 4:49pm UTC](https://discourse.julialang.org/t/display-ntuples-with-more-than-one-element-as-ntuples-rather-than-tuples/104143 "2023-09-25T16:49:38Z")

</div>

This example is somewhat specific to making displayed types more legible, although this might help more generally. Currently, we have julia\> Tuple{Int, Int, Int} Tuple{Int64, Int64, Int64} julia\> Tuple{Int, Int, Int, …

---

## [Naming positional arguments at call site](https://discourse.julialang.org/t/naming-positional-arguments-at-call-site/103526)

<div class="topic-metadata">

**Author:** [@GregVernon](https://discourse.julialang.org/u/GregVernon)\
**Replies:** 131\
**Last updated:** [September 21, 2023, 5:32pm UTC](https://discourse.julialang.org/t/naming-positional-arguments-at-call-site/103526 "2023-09-21T17:32:52Z")

</div>

I would love to be able to use keywords with positional arguments. It’s one of my favorite “code should be self-documenting” features.

---

## [Include InteractiveCodeSearch by default](https://discourse.julialang.org/t/include-interactivecodesearch-by-default/104026)

<div class="topic-metadata">

**Author:** [@ShalokShalom](https://discourse.julialang.org/u/ShalokShalom)\
**Replies:** 2\
**Last updated:** [September 19, 2023, 5:45pm UTC](https://discourse.julialang.org/t/include-interactivecodesearch-by-default/104026 "2023-09-19T17:45:30Z")

</div>

In the wake of the recent discussion of making Revise the default, I suggest another tool, that looks like it could be included in every Julia release: I actually discovered this, as this topic on Hacker news came up. …

---

## [How to design a custom array-like type for physics calculations: balancing functionality and customization?](https://discourse.julialang.org/t/how-to-design-a-custom-array-like-type-for-physics-calculations-balancing-functionality-and-customization/103873)

<div class="topic-metadata">

**Author:** [@singularitti](https://discourse.julialang.org/u/singularitti)\
**Replies:** 2\
**Last updated:** [September 16, 2023, 6:39am UTC](https://discourse.julialang.org/t/how-to-design-a-custom-array-like-type-for-physics-calculations-balancing-functionality-and-customization/103873 "2023-09-16T06:39:03Z")

</div>

I’m working on a project in physics where I need to create custom types that behave like arrays but don’t necessarily inherit from AbstractArray because I want to disable certain default functionalities. These types repr…

---

## [Add Infiltrator.jl to Base?](https://discourse.julialang.org/t/add-infiltrator-jl-to-base/77995)

<div class="topic-metadata">

**Author:** [@CameronBieganek](https://discourse.julialang.org/u/CameronBieganek)\
**Replies:** 15\
**Last updated:** [September 12, 2023, 5:53am UTC](https://discourse.julialang.org/t/add-infiltrator-jl-to-base/77995 "2023-09-12T05:53:14Z")

</div>

I know that folks often ask to add things to Base here on Discourse, and that usually the correct answer is “no”, but I think there’s a very good reason to add Infiltrator.jl to Base Julia. Let me explain. Infiltrator.j…

---

## ["Under the hood" difference between import and using](https://discourse.julialang.org/t/under-the-hood-difference-between-import-and-using/103741)

<div class="topic-metadata">

**Author:** [@deaminase](https://discourse.julialang.org/u/deaminase)\
**Replies:** 9\
**Last updated:** [September 11, 2023, 5:27pm UTC](https://discourse.julialang.org/t/under-the-hood-difference-between-import-and-using/103741 "2023-09-11T17:27:36Z")

</div>

So, based on the docs I know that eg. import doesn’t bring in any exported identifiers to your namespace when importing a module, and if you want to add a method to a function without using its fully qualified name, you …

---

## [Making Revise the default?](https://discourse.julialang.org/t/making-revise-the-default/103506)

<div class="topic-metadata">

**Author:** [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Replies:** 31\
**Last updated:** [September 9, 2023, 6:40am UTC](https://discourse.julialang.org/t/making-revise-the-default/103506 "2023-09-09T06:40:28Z")

</div>

Well this has gone bizarre :sweat\_smile:. Maybe the preconceived notion that Revise is difficult blocks the idea that it actually only requires a single character change, i.e. change include to includet, and now it a…

---

## [Keyword arguments without a keyword?](https://discourse.julialang.org/t/keyword-arguments-without-a-keyword/31863)

<div class="topic-metadata">

**Author:** [@dstarerstor](https://discourse.julialang.org/u/dstarerstor)\
**Replies:** 23\
**Last updated:** [September 7, 2023, 5:50pm UTC](https://discourse.julialang.org/t/keyword-arguments-without-a-keyword/31863 "2023-09-07T17:50:59Z")

</div>

I feel like I have seen this proposal before, but I can’t find it now and I don’t remember the resolution, so sorry if this is repetitive. I think it would be very nice if single word arguments passed to a function afte…

---

## [On potentially expanding or pruning the standard library](https://discourse.julialang.org/t/on-potentially-expanding-or-pruning-the-standard-library/103532)

<div class="topic-metadata">

**Author:** [@GregVernon](https://discourse.julialang.org/u/GregVernon)\
**Replies:** 28\
**Last updated:** [September 7, 2023, 2:25pm UTC](https://discourse.julialang.org/t/on-potentially-expanding-or-pruning-the-standard-library/103532 "2023-09-07T14:25:23Z")

</div>

As I mentioned in one of my comments over in the “What steps” megathread, I find the current standard library a bit odd. In particular, my concerns primarily relate to included/excluded mathematics libraries. I find it…

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

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