# Internals & Design

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

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

**Page:** 75

---

## [Editor-independent parts of Juno](https://discourse.julialang.org/t/editor-independent-parts-of-juno/1955)

<div class="topic-metadata">

**Author:** [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Replies:** 3\
**Last updated:** [February 7, 2017, 7:45pm UTC](https://discourse.julialang.org/t/editor-independent-parts-of-juno/1955 "2017-02-07T19:45:15Z")

</div>

I am working on implementing and cleaning up various features of my Julia-REPL package for Emacs. I thought it would be more worthwhile to rely on and contribute to existing code that does things. The only IDE I am aware…

---

## [Traits in Julia](https://discourse.julialang.org/t/traits-in-julia/656)

<div class="topic-metadata">

**Author:** [@juliohm](https://discourse.julialang.org/u/juliohm)\
**Replies:** 3\
**Last updated:** [February 11, 2017, 10:02pm UTC](https://discourse.julialang.org/t/traits-in-julia/656 "2017-02-11T22:02:20Z")

</div>

Recently I learned about SimpleTraits.jl by @mauro3. Are there any plans to support traits in Julia Base? Traits are very useful!

---

## [Current 0.5 release?](https://discourse.julialang.org/t/current-0-5-release/2041)

<div class="topic-metadata">

**Author:** [@lobingera](https://discourse.julialang.org/u/lobingera)\
**Replies:** 4\
**Last updated:** [February 11, 2017, 5:59pm UTC](https://discourse.julialang.org/t/current-0-5-release/2041 "2017-02-11T17:59:47Z")

</div>

my (0.5) julia reports \_ \_ \_ \_(\_)\_ | A fresh approach to technical computing (\_) | (\_) (\_) | Documentation: http://docs.julialang.org \_ \_ \_| |\_ \_\_ \_ | Type "?help" for hel…

---

## [Consistency of eye vs. zeros, ones, rand functions](https://discourse.julialang.org/t/consistency-of-eye-vs-zeros-ones-rand-functions/2011)

<div class="topic-metadata">

**Author:** [@homocomputeris](https://discourse.julialang.org/u/homocomputeris)\
**Replies:** 17\
**Last updated:** [February 10, 2017, 7:36pm UTC](https://discourse.julialang.org/t/consistency-of-eye-vs-zeros-ones-rand-functions/2011 "2017-02-10T19:36:40Z")

</div>

Hi, I’d like to understand better the design of these standard array creation functions, as they seem somewhat inconsistent to me. Compare these examples: a = rand(2); sz = size(a); # 1 # o = ones(a); # 2-element Arra…

---

## [Development, Test, and Production Environments](https://discourse.julialang.org/t/development-test-and-production-environments/1974)

<div class="topic-metadata">

**Author:** [@djsegal](https://discourse.julialang.org/u/djsegal)\
**Replies:** 4\
**Last updated:** [February 8, 2017, 6:39pm UTC](https://discourse.julialang.org/t/development-test-and-production-environments/1974 "2017-02-08T18:39:34Z")

</div>

How you run something on your computer often ends up different than how you run it on your cluster. And how you test things usually ends up different than how you actually run them. I was wondering if we could add some…

---

## [FYI: new LLVM IR for parallelism](https://discourse.julialang.org/t/fyi-new-llvm-ir-for-parallelism/1951)

<div class="topic-metadata">

**Author:** [@Steven\_Sagaert](https://discourse.julialang.org/u/Steven_Sagaert)\
**Replies:** 0\
**Last updated:** [February 7, 2017, 7:55am UTC](https://discourse.julialang.org/t/fyi-new-llvm-ir-for-parallelism/1951 "2017-02-07T07:55:15Z")

</div>

Hi, I found this article yesterday. I’m just posting the link here because I thought it might be interesting for julia threading in a future version as a compiler optimization.

---

## [Should empty sum (and product) be defined?](https://discourse.julialang.org/t/should-empty-sum-and-product-be-defined/1872)

<div class="topic-metadata">

**Author:** [@Palli](https://discourse.julialang.org/u/Palli)\
**Replies:** 2\
**Last updated:** [February 3, 2017, 5:11pm UTC](https://discourse.julialang.org/t/should-empty-sum-and-product-be-defined/1872 "2017-02-03T17:11:23Z")

</div>

julia\> sum(\[1 2\]) 3 julia\> sum(\[\]) # from math = 0 "by convention" ERROR: MethodError: no method matching zero(::Type{Any}) Closest candidates are: zero(::Type{Base.LibGit2.Oid}) at libgit2/oid.jl:88 zero(::Type{Bas…

---

## [Why rank doesn't work for sparse matrices?](https://discourse.julialang.org/t/why-rank-doesnt-work-for-sparse-matrices/1846)

<div class="topic-metadata">

**Author:** [@e3c6](https://discourse.julialang.org/u/e3c6)\
**Replies:** 2\
**Last updated:** [February 2, 2017, 7:37pm UTC](https://discourse.julialang.org/t/why-rank-doesnt-work-for-sparse-matrices/1846 "2017-02-02T19:37:37Z")

</div>

The following throws an error: mat = sparse(\[1 0 0; 0 1 0; 0 0 1\]) rank(mat) The error: ERROR: MethodError: no method matching svdvals!(::SparseMatrixCSC{Float64,Int64})

---

## [Norm, normalize](https://discourse.julialang.org/t/norm-normalize/1818)

<div class="topic-metadata">

**Author:** [@jw3126](https://discourse.julialang.org/u/jw3126)\
**Replies:** 6\
**Last updated:** [February 1, 2017, 9:46pm UTC](https://discourse.julialang.org/t/norm-normalize/1818 "2017-02-01T21:46:11Z")

</div>

I just realized, that normalize only has methods for AbstractVectors. julia\> methods(normalize) # 2 methods for generic function "normalize": normalize(v::AbstractArray{T,1} where T) in Base.LinAlg at linalg/generic.jl:…

---

## [Function type specification](https://discourse.julialang.org/t/function-type-specification/1749)

<div class="topic-metadata">

**Author:** [@wsshin](https://discourse.julialang.org/u/wsshin)\
**Replies:** 7\
**Last updated:** [February 1, 2017, 2:34pm UTC](https://discourse.julialang.org/t/function-type-specification/1749 "2017-02-01T14:34:41Z")

</div>

Consider two simple functions that take one Float64 and return another Float64: julia\> f(x) = x^2 f (generic function with 1 method) julia\> g(x) = x^3 g (generic function with 1 method) Also, consider a higher-order f…

---

## [Handling #18465 on v0.5](https://discourse.julialang.org/t/handling-18465-on-v0-5/1773)

<div class="topic-metadata">

**Author:** [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Replies:** 6\
**Last updated:** [January 31, 2017, 10:57am UTC](https://discourse.julialang.org/t/handling-18465-on-v0-5/1773 "2017-01-31T10:57:35Z")

</div>

https://github.com/JuliaLang/julia/issues/18465 This issue causes some really weird performance regressions. I have a potential one related to using Roots.jl in a new release of the StochasticDiffEq.jl module for Differ…

---

## [Proposal: \`then\`, \`else\` syntax to replace \`&&\`, \`||\` short-circuiting](https://discourse.julialang.org/t/proposal-then-else-syntax-to-replace-short-circuiting/1323)

<div class="topic-metadata">

**Author:** [@pitao](https://discourse.julialang.org/u/pitao)\
**Replies:** 54\
**Last updated:** [January 28, 2017, 1:11am UTC](https://discourse.julialang.org/t/proposal-then-else-syntax-to-replace-short-circuiting/1323 "2017-01-28T01:11:10Z")

</div>

I don’t like short-circuiting. Here’s why: It is a hack. i.e. It is (ab)using an implementation detail of && or ||, namely using the fact that the second operand is only evaluated if necessary to provide one-liner if p…

---

## [Inference with Tuple{Union} vs. Union{Tuple}](https://discourse.julialang.org/t/inference-with-tuple-union-vs-union-tuple/1682)

<div class="topic-metadata">

**Author:** [@martinholters](https://discourse.julialang.org/u/martinholters)\
**Replies:** 3\
**Last updated:** [January 27, 2017, 5:39pm UTC](https://discourse.julialang.org/t/inference-with-tuple-union-vs-union-tuple/1682 "2017-01-27T17:39:02Z")

</div>

While working on https://github.com/JuliaLang/julia/pull/20154 I hit some peculiar behavior of inference I’d like to get some input about. Let’s consider the following, which simplifies the situation a bit: int\_or\_ra…

---

## [Numbers as single-element collections](https://discourse.julialang.org/t/numbers-as-single-element-collections/1621)

<div class="topic-metadata">

**Author:** [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Replies:** 5\
**Last updated:** [January 27, 2017, 10:48am UTC](https://discourse.julialang.org/t/numbers-as-single-element-collections/1621 "2017-01-27T10:48:20Z")

</div>

Hi, I was reading base/number.jl, and I was wondering about the rationale of start(x::Number) = false next(x::Number, state) = (x, true) done(x::Number, state) = state isempty(x::Number) = false in(x::Number, y::Number)…

---

## [Rational in subtypes(Real)?](https://discourse.julialang.org/t/rational-in-subtypes-real/1714)

<div class="topic-metadata">

**Author:** [@JeffreySarnoff](https://discourse.julialang.org/u/JeffreySarnoff)\
**Replies:** 2\
**Last updated:** [January 27, 2017, 12:27am UTC](https://discourse.julialang.org/t/rational-in-subtypes-real/1714 "2017-01-27T00:27:03Z")

</div>

Given that supertype(Rational) == Real, Rational is an immediate subtype of Real. Yet, subtypes(Real) does not include Rational. Is it plausible that this will change generally?

---

## [Recommended ways to work around world age issues in v0.6?](https://discourse.julialang.org/t/recommended-ways-to-work-around-world-age-issues-in-v0-6/1701)

<div class="topic-metadata">

**Author:** [@ScottPJones](https://discourse.julialang.org/u/ScottPJones)\
**Replies:** 3\
**Last updated:** [January 27, 2017, 12:12am UTC](https://discourse.julialang.org/t/recommended-ways-to-work-around-world-age-issues-in-v0-6/1701 "2017-01-27T00:12:22Z")

</div>

I ran into a problem yesterday with https://github.com/JuliaIO/Formatting.jl not working on v0.6 (I posted the following issue: https://github.com/JuliaIO/Formatting.jl/issues/27, as I don’t know how to work around this …

---

## [Syntactic sugar for specifying tuple function arguments](https://discourse.julialang.org/t/syntactic-sugar-for-specifying-tuple-function-arguments/1356)

<div class="topic-metadata">

**Author:** [@Stephen\_Vavasis](https://discourse.julialang.org/u/Stephen_Vavasis)\
**Replies:** 5\
**Last updated:** [January 26, 2017, 11:40pm UTC](https://discourse.julialang.org/t/syntactic-sugar-for-specifying-tuple-function-arguments/1356 "2017-01-26T23:40:45Z")

</div>

Instead of function f(t::Tuple{Bool,Int}) a = t\[1\] b = t\[2\] end it would be nice to say: function f((a,b)::Tuple{Bool,Int}) end or even better: function f((a::Bool, b::Int)) end

---

## [Macro problem with v0.6](https://discourse.julialang.org/t/macro-problem-with-v0-6/1581)

<div class="topic-metadata">

**Author:** [@jheinen](https://discourse.julialang.org/u/jheinen)\
**Replies:** 8\
**Last updated:** [January 26, 2017, 6:41am UTC](https://discourse.julialang.org/t/macro-problem-with-v0-6/1581 "2017-01-26T06:41:06Z")

</div>

The following macro (which is used in a wrapper for a C library) is no longer working with Julia v0.6. Does anyone have an idea how to fix that? macro ArrayToVector(ctype, data) return :( convert(Vector{$ctype}, vec…

---

## [String.data in Compat.jl?](https://discourse.julialang.org/t/string-data-in-compat-jl/1619)

<div class="topic-metadata">

**Author:** [@lobingera](https://discourse.julialang.org/u/lobingera)\
**Replies:** 5\
**Last updated:** [January 25, 2017, 1:52am UTC](https://discourse.julialang.org/t/string-data-in-compat-jl/1619 "2017-01-25T01:52:45Z")

</div>

julia\> a = "str" "str" julia\> b = a.data ERROR: type String has no field data Use \`Vector{UInt8}(str)\` instead.

---

## [Map over expressions?](https://discourse.julialang.org/t/map-over-expressions/1657)

<div class="topic-metadata">

**Author:** [@bramtayl](https://discourse.julialang.org/u/bramtayl)\
**Replies:** 3\
**Last updated:** [January 24, 2017, 6:32am UTC](https://discourse.julialang.org/t/map-over-expressions/1657 "2017-01-24T06:32:33Z")

</div>

It might be slightly useful to define map(f, e::Expr) = Expr(e.head, map(f, e.args)... ) It would be useful for recursive AST functions. Of course, users defining map\_expression themselves would probably be fine too, b…

---

## [Appveyor testing with X11/xvfb etc](https://discourse.julialang.org/t/appveyor-testing-with-x11-xvfb-etc/1498)

<div class="topic-metadata">

**Author:** [@lobingera](https://discourse.julialang.org/u/lobingera)\
**Replies:** 8\
**Last updated:** [January 22, 2017, 8:17pm UTC](https://discourse.julialang.org/t/appveyor-testing-with-x11-xvfb-etc/1498 "2017-01-22T20:17:30Z")

</div>

For Gtk.jl or packages that import Gtk.jl it would be nice to have a appveyor (windows environment) setup that has something like a window/display system available to have functional testing. Does anyone have a good ref…

---

## [Combinators on Nullables](https://discourse.julialang.org/t/combinators-on-nullables/1481)

<div class="topic-metadata">

**Author:** [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Replies:** 7\
**Last updated:** [January 21, 2017, 9:56pm UTC](https://discourse.julialang.org/t/combinators-on-nullables/1481 "2017-01-21T21:56:35Z")

</div>

(This is more of a conceptual question, so I am posting in this category, please reassign if inappropriate. Also, I don’t have a formal CS background, so this may have an obvious answer I missed. Thanks for your understa…

---

## [Array slices as views - what's the state of affairs?](https://discourse.julialang.org/t/array-slices-as-views-whats-the-state-of-affairs/1169)

<div class="topic-metadata">

**Author:** [@dfdx](https://discourse.julialang.org/u/dfdx)\
**Replies:** 2\
**Last updated:** [January 20, 2017, 10:07pm UTC](https://discourse.julialang.org/t/array-slices-as-views-whats-the-state-of-affairs/1169 "2017-01-20T22:07:13Z")

</div>

I remember a long, long discussion about making array slices (i.e. A\[:, :\] syntax) to produce a view instead of a copy, but it turns out to be terribly hard to find a related thread. Can somebody point to it or describe …

---

## [Love I Julia : the need for a direct object notation](https://discourse.julialang.org/t/love-i-julia-the-need-for-a-direct-object-notation/1472)

<div class="topic-metadata">

**Author:** [@cce](https://discourse.julialang.org/u/cce)\
**Replies:** 46\
**Last updated:** [January 20, 2017, 3:04pm UTC](https://discourse.julialang.org/t/love-i-julia-the-need-for-a-direct-object-notation/1472 "2017-01-20T15:04:20Z")

</div>

Related Issues? I’m reading a few issues and dozens of proposals that seem intimately related: #1263 - allow overloading of a.b field access #5571 - function chaining #16985 - custom infix operators I think there is …

---

## [Mutating functions in kwargs causes troubles](https://discourse.julialang.org/t/mutating-functions-in-kwargs-causes-troubles/1610)

<div class="topic-metadata">

**Author:** [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Replies:** 1\
**Last updated:** [January 20, 2017, 11:49am UTC](https://discourse.julialang.org/t/mutating-functions-in-kwargs-causes-troubles/1610 "2017-01-20T11:49:53Z")

</div>

Mutating functions in keyword arguments give quite an issue due to how it’s parsed. The following example was noticed: https://github.com/JuliaDiffEq/DiffEqBase.jl/issues/18 callback = ContinuousCallback(condtion,affec…

---

## [LaTeX tab completions](https://discourse.julialang.org/t/latex-tab-completions/1519)

<div class="topic-metadata">

**Author:** [@ScottPJones](https://discourse.julialang.org/u/ScottPJones)\
**Replies:** 6\
**Last updated:** [January 17, 2017, 5:33pm UTC](https://discourse.julialang.org/t/latex-tab-completions/1519 "2017-01-17T17:33:55Z")

</div>

I have been working on a set of packages to handle different sets of entities for Unicode characters (or sequences). I almost have the first of these, LaTeX\_Entities ready (the others are Emoji\_Entities, HTML\_Entities, …

---

## [Add Python's f-strings (and more?) in Julia?: PEP 498 -- Literal String Interpolation](https://discourse.julialang.org/t/add-pythons-f-strings-and-more-in-julia-pep-498-literal-string-interpolation/1524)

<div class="topic-metadata">

**Author:** [@Palli](https://discourse.julialang.org/u/Palli)\
**Replies:** 3\
**Last updated:** [January 17, 2017, 12:05pm UTC](https://discourse.julialang.org/t/add-pythons-f-strings-and-more-in-julia-pep-498-literal-string-interpolation/1524 "2017-01-17T12:05:33Z")

</div>

Is there some package with same in Julia?: \[I kind of recall there’s such a package (or more than one implementing similar ideas).\] Is there value in keeping compatibility with Python as much as possible? Here, at le…

---

## [Strict left-to-right \*order\* of comparisons \[chaining\] considered harmful \[by me\]](https://discourse.julialang.org/t/strict-left-to-right-order-of-comparisons-chaining-considered-harmful-by-me/1420)

<div class="topic-metadata">

**Author:** [@Palli](https://discourse.julialang.org/u/Palli)\
**Replies:** 8\
**Last updated:** [January 14, 2017, 2:57pm UTC](https://discourse.julialang.org/t/strict-left-to-right-order-of-comparisons-chaining-considered-harmful-by-me/1420 "2017-01-14T14:57:33Z")

</div>

Just to illustrate, e.g. for: slow(big(10000000)) \< 1 \< 0 1 \< 0 could have been evaluated to false first (fast, also for variables). In fact it’s allowed by semantics.\*\* \[Then this code could have been dead-code elimin…

---

## [Option to completely disallow dynamic allocation](https://discourse.julialang.org/t/option-to-completely-disallow-dynamic-allocation/1417)

<div class="topic-metadata">

**Author:** [@tkoolen](https://discourse.julialang.org/u/tkoolen)\
**Replies:** 5\
**Last updated:** [January 13, 2017, 2:21am UTC](https://discourse.julialang.org/t/option-to-completely-disallow-dynamic-allocation/1417 "2017-01-13T02:21:22Z")

</div>

In RigidBodyDynamics.jl, I was able to reduce allocations to zero in a few of the key algorithms. This took quite some effort, mostly because I started out just getting things to work without paying a lot of attention to…

---

## [Multi-platform support of Julia (Power/Arm/Intel)](https://discourse.julialang.org/t/multi-platform-support-of-julia-power-arm-intel/1449)

<div class="topic-metadata">

**Author:** [@ppalmes](https://discourse.julialang.org/u/ppalmes)\
**Replies:** 1\
**Last updated:** [January 12, 2017, 10:02pm UTC](https://discourse.julialang.org/t/multi-platform-support-of-julia-power-arm-intel/1449 "2017-01-12T22:02:35Z")

</div>

In some cluster environment, it’s typical to have Julia running in different hardware (Power/Intel/Arm) but using the same $HOME directory. To support this multi-platform environment, $HOME/.julia/version only different…

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

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