# Internals & Design

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

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

**Page:** 74

---

## [Why is \`transpose\` recursive?](https://discourse.julialang.org/t/why-is-transpose-recursive/2550)

<div class="topic-metadata">

**Author:** [@iamed2](https://discourse.julialang.org/u/iamed2)\
**Replies:** 23\
**Last updated:** [March 15, 2017, 1:27pm UTC](https://discourse.julialang.org/t/why-is-transpose-recursive/2550 "2017-03-15T13:27:35Z")

</div>

The deprecation of transpose(::Any) and its impact on the ability to use transpose for generic matrices has confused people here at Invenia. From a usage standpoint, we understand that permutedims is the way forward. How…

---

## [Why is a union of tuples a vector?](https://discourse.julialang.org/t/why-is-a-union-of-tuples-a-vector/2545)

<div class="topic-metadata">

**Author:** [@JeffreySarnoff](https://discourse.julialang.org/u/JeffreySarnoff)\
**Replies:** 2\
**Last updated:** [March 14, 2017, 1:36pm UTC](https://discourse.julialang.org/t/why-is-a-union-of-tuples-a-vector/2545 "2017-03-14T13:36:53Z")

</div>

Is there a compelling reason that # NTuple{T} means NTuple{N,T} for any appropriate Ns union{T}(x::NTuple{T}, y::NTuple{T})::Vector{T} # instead of (pretending N3 is allowed) union{T}(x::NTuple{T}, y::NTuple{T})::NT…

---

## [Progress with Julia codegen and LLVM 4.0](https://discourse.julialang.org/t/progress-with-julia-codegen-and-llvm-4-0/2650)

<div class="topic-metadata">

**Author:** [@sc0ttwad3](https://discourse.julialang.org/u/sc0ttwad3)\
**Replies:** 2\
**Last updated:** [March 14, 2017, 3:07am UTC](https://discourse.julialang.org/t/progress-with-julia-codegen-and-llvm-4-0/2650 "2017-03-14T03:07:57Z")

</div>

Just wondering about the status of Julia 0.6 and codegen to the LLVM 4,0 release today. A lot of optimizations and more, like one small item out of hundreds, where LLVM 4.0 incorporates features like: “\_\_vectorcall use…

---

## [RFC: \_ as ans](https://discourse.julialang.org/t/rfc---as-ans/2326)

<div class="topic-metadata">

**Author:** [@bramtayl](https://discourse.julialang.org/u/bramtayl)\
**Replies:** 30\
**Last updated:** [March 13, 2017, 10:25pm UTC](https://discourse.julialang.org/t/rfc---as-ans/2326 "2017-03-13T22:25:16Z")

</div>

There’s been a lot of discussion lately of using \_ as stand in for the result of the previous evaluation, for example: a \_ + 1 \_ + 2 would get lowered to gensym1 = a gensym2 = gensym1 + 1 gensym3 = gensym2 + 2 I’ve g…

---

## [Juno, julia 0.6: UndefVarError: isdebugging not defined](https://discourse.julialang.org/t/juno-julia-0-6-undefvarerror-isdebugging-not-defined/2590)

<div class="topic-metadata">

**Author:** [@kimran](https://discourse.julialang.org/u/kimran)\
**Replies:** 2\
**Last updated:** [March 10, 2017, 7:22pm UTC](https://discourse.julialang.org/t/juno-julia-0-6-undefvarerror-isdebugging-not-defined/2590 "2017-03-10T19:22:02Z")

</div>

I just downloaded julia 0.6 from here: https://s3.amazonaws.com/julialang/bin/osx/x64/0.6/julia-0.6.0-pre.alpha-osx10.7+.dmg3 After changing the Juno/Atom path to the new julia, trying ‘2+2’ gives the error: UndefVarE…

---

## [Make doesn't capture changes in dependencies in external LLVM build](https://discourse.julialang.org/t/make-doesnt-capture-changes-in-dependencies-in-external-llvm-build/2403)

<div class="topic-metadata">

**Author:** [@singam-sanjay](https://discourse.julialang.org/u/singam-sanjay)\
**Replies:** 7\
**Last updated:** [March 8, 2017, 8:40pm UTC](https://discourse.julialang.org/t/make-doesnt-capture-changes-in-dependencies-in-external-llvm-build/2403 "2017-03-08T20:40:05Z")

</div>

Hello, Julia’s Makefile doesn’t capture the changes in it’s (external) llvm build. Rebuilding Julia by make or make debug didn’t consider the changes in the LLVM build. How can I rebuild Julia to reflect these changes …

---

## [Differences in valid options accepted by opt and JULIA\_LLVM\_ARGS](https://discourse.julialang.org/t/differences-in-valid-options-accepted-by-opt-and-julia-llvm-args/2513)

<div class="topic-metadata">

**Author:** [@singam-sanjay](https://discourse.julialang.org/u/singam-sanjay)\
**Replies:** 3\
**Last updated:** [March 7, 2017, 2:09pm UTC](https://discourse.julialang.org/t/differences-in-valid-options-accepted-by-opt-and-julia-llvm-args/2513 "2017-03-07T14:09:34Z")

</div>

Different sources of valid options for GlobalParser? Hello, Julia fails to accept certain options that were accepted by opt from Julia’s LLVM build. I see the same function, CommandLineParser::ParseCommandLineOptions in…

---

## [Supplying rpath to shared libraries for symbols inserted during LLVM pass](https://discourse.julialang.org/t/supplying-rpath-to-shared-libraries-for-symbols-inserted-during-llvm-pass/2517)

<div class="topic-metadata">

**Author:** [@singam-sanjay](https://discourse.julialang.org/u/singam-sanjay)\
**Replies:** 0\
**Last updated:** [March 7, 2017, 12:21pm UTC](https://discourse.julialang.org/t/supplying-rpath-to-shared-libraries-for-symbols-inserted-during-llvm-pass/2517 "2017-03-07T12:21:20Z")

</div>

Hello, I need to supply the path to a shared library (libGPURuntime.so) for functions calls generated during the Polly pass. For clang I use the options “-ldl -lGPURuntime -Wl,-rpath,/path/to/loc/of/lib/file”. How can I…

---

## [The relation between pattern matching and multiple dispatch](https://discourse.julialang.org/t/the-relation-between-pattern-matching-and-multiple-dispatch/2433)

<div class="topic-metadata">

**Author:** [@Ford](https://discourse.julialang.org/u/Ford)\
**Replies:** 11\
**Last updated:** [March 6, 2017, 12:27pm UTC](https://discourse.julialang.org/t/the-relation-between-pattern-matching-and-multiple-dispatch/2433 "2017-03-06T12:27:16Z")

</div>

Since not everybody is familiar with pattern matching here is an example of that feature: factorial(0) = 1 factorial(n) = n \* factorial(n -1) It looks like a more powerful multiple dispatch right? That leads me to ques…

---

## [Function svds freezes in 0.6](https://discourse.julialang.org/t/function-svds-freezes-in-0-6/1738)

<div class="topic-metadata">

**Author:** [@lostella](https://discourse.julialang.org/u/lostella)\
**Replies:** 2\
**Last updated:** [March 5, 2017, 4:42pm UTC](https://discourse.julialang.org/t/function-svds-freezes-in-0-6/1738 "2017-03-05T16:42:36Z")

</div>

Hi all, I’m experiencing a problem with svds in Julia 0.6.0-dev.2439, commit 953029f, on macOS. What happens is that the REPL freezes after invoking svds, as in x = randn(10,10) out = svds(x, nsv=3) After cmd+c’ing and…

---

## [Timeline for Pkg3?](https://discourse.julialang.org/t/timeline-for-pkg3/2371)

<div class="topic-metadata">

**Author:** [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Replies:** 6\
**Last updated:** [February 28, 2017, 7:42pm UTC](https://discourse.julialang.org/t/timeline-for-pkg3/2371 "2017-02-28T19:42:19Z")

</div>

Is there any idea on the timeline for Pkg3? Is this something for pre-1.0 or a 2.0 kind of thing?

---

## [Build fails with CXX=g++ : unrecognized command line options](https://discourse.julialang.org/t/build-fails-with-cxx-g-unrecognized-command-line-options/2360)

<div class="topic-metadata">

**Author:** [@singam-sanjay](https://discourse.julialang.org/u/singam-sanjay)\
**Replies:** 3\
**Last updated:** [February 28, 2017, 12:53pm UTC](https://discourse.julialang.org/t/build-fails-with-cxx-g-unrecognized-command-line-options/2360 "2017-02-28T12:53:59Z")

</div>

Hello, I’m building the debug build of Julia with svn build of LLVM+Polly. The build stops when g++ receives the unrecognised options, but which are recognised by clang++. CC src/APInt-C.dbg.obj g++: error: unrecog…

---

## [Atomic{T} types boxing and performance](https://discourse.julialang.org/t/atomic-t-types-boxing-and-performance/2257)

<div class="topic-metadata">

**Author:** [@jpfairbanks](https://discourse.julialang.org/u/jpfairbanks)\
**Replies:** 3\
**Last updated:** [February 27, 2017, 4:12pm UTC](https://discourse.julialang.org/t/atomic-t-types-boxing-and-performance/2257 "2017-02-27T16:12:42Z")

</div>

I was looking at the source for the Atomic operations and it looks like the Atomic{T} type is a mutable struct, which means that a Vector{Atomic{T}} is an array of references to the integers. When using atomic operation…

---

## [Build Error on Linux : llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h: No such file or directory](https://discourse.julialang.org/t/build-error-on-linux-llvm-executionengine-orc-objectlinkinglayer-h-no-such-file-or-directory/2295)

<div class="topic-metadata">

**Author:** [@singam-sanjay](https://discourse.julialang.org/u/singam-sanjay)\
**Replies:** 5\
**Last updated:** [February 27, 2017, 2:30pm UTC](https://discourse.julialang.org/t/build-error-on-linux-llvm-executionengine-orc-objectlinkinglayer-h-no-such-file-or-directory/2295 "2017-02-27T14:30:05Z")

</div>

Hello, The build fails after reporting that the “llvm/ExecutionEngine/Orc/LazyEmittingLayer.h” missing, at commit 0a5f35b6d9544122d7ab0498c0892cd29c734506. CC /home/sanjay/Software/polly\_julia/julia\_build/src/codeg…

---

## [Build Error on Linux : template errors on commit 00b7b606d82c36461d448a2a7b59475235199acf](https://discourse.julialang.org/t/build-error-on-linux-template-errors-on-commit-00b7b606d82c36461d448a2a7b59475235199acf/2278)

<div class="topic-metadata">

**Author:** [@singam-sanjay](https://discourse.julialang.org/u/singam-sanjay)\
**Replies:** 6\
**Last updated:** [February 27, 2017, 3:03am UTC](https://discourse.julialang.org/t/build-error-on-linux-template-errors-on-commit-00b7b606d82c36461d448a2a7b59475235199acf/2278 "2017-02-27T03:03:30Z")

</div>

Hello, I’m getting many C++ template related errors while building at commit 00b7b606d82c36461d448a2a7b59475235199acf. Here’s the link to the output. I tried this on Ubuntu 14.04 x86\_64 using local LLVM ( with Polly )…

---

## [Pkg on libgit2 doesn't support filesystem URLs?](https://discourse.julialang.org/t/pkg-on-libgit2-doesnt-support-filesystem-urls/2315)

<div class="topic-metadata">

**Author:** [@lobingera](https://discourse.julialang.org/u/lobingera)\
**Replies:** 0\
**Last updated:** [February 26, 2017, 9:14am UTC](https://discourse.julialang.org/t/pkg-on-libgit2-doesnt-support-filesystem-urls/2315 "2017-02-26T09:14:04Z")

</div>

I did just update on my v0.5 package directory (i also run 0.4 and 0.6dev in parallel) and got reported this (at the end of Pkg.update): ... INFO: Updating Cairo master... INFO: Updating MachO master... INFO: Updating D…

---

## [\`hcat\` with generator](https://discourse.julialang.org/t/hcat-with-generator/2300)

<div class="topic-metadata">

**Author:** [@cortner](https://discourse.julialang.org/u/cortner)\
**Replies:** 12\
**Last updated:** [February 26, 2017, 1:19am UTC](https://discourse.julialang.org/t/hcat-with-generator/2300 "2017-02-26T01:19:41Z")

</div>

I find myself wanting to write code of the kind hcat(f(i) for i = 1:n) where f(i) would be a function computing the ith column - or possibly multiple columns - of a matrix. but I end up getting something weird, 1×1 Ar…

---

## [Deepsimilar](https://discourse.julialang.org/t/deepsimilar/2209)

<div class="topic-metadata">

**Author:** [@lostella](https://discourse.julialang.org/u/lostella)\
**Replies:** 3\
**Last updated:** [February 25, 2017, 10:55am UTC](https://discourse.julialang.org/t/deepsimilar/2209 "2017-02-25T10:55:57Z")

</div>

Wouldn’t it make sense to have a deepsimilar function shipped with Julia, in the same way deepcopy is? For example, for nested array-like objects containing numbers, this could be defined as function deepsimilar(x::Abst…

---

## [Stack allocation for structs with heap references](https://discourse.julialang.org/t/stack-allocation-for-structs-with-heap-references/2293)

<div class="topic-metadata">

**Author:** [@davidanthoff](https://discourse.julialang.org/u/davidanthoff)\
**Replies:** 2\
**Last updated:** [February 25, 2017, 6:40am UTC](https://discourse.julialang.org/t/stack-allocation-for-structs-with-heap-references/2293 "2017-02-25T06:40:53Z")

</div>

I just want to point out that this optimization should also help Query.jl a lot, I also iterate like mad over small immutables that can hold references to heap allocated stuff. I just tried to find an issue or PR that g…

---

## [Redundant type parameters](https://discourse.julialang.org/t/redundant-type-parameters/2251)

<div class="topic-metadata">

**Author:** [@jw3126](https://discourse.julialang.org/u/jw3126)\
**Replies:** 9\
**Last updated:** [February 23, 2017, 5:36pm UTC](https://discourse.julialang.org/t/redundant-type-parameters/2251 "2017-02-23T17:36:21Z")

</div>

From time to time I want to define a new type and have to introduce some redundant type parameters to do so. For example I could want arrays that live in coordinate systems. In 0.5 I have to do something like immutable…

---

## [Does Julia syntax do enough to encourage type stability?](https://discourse.julialang.org/t/does-julia-syntax-do-enough-to-encourage-type-stability/2219)

<div class="topic-metadata">

**Author:** [@ExpandingMan](https://discourse.julialang.org/u/ExpandingMan)\
**Replies:** 22\
**Last updated:** [February 22, 2017, 5:58pm UTC](https://discourse.julialang.org/t/does-julia-syntax-do-enough-to-encourage-type-stability/2219 "2017-02-22T17:58:16Z")

</div>

Having used Julia on a fairly regular basis for almost a year now, one of the most common causes I see of unnecessarily poor performance is type instability. It’s wonderful that Julia is dynamically typed for cases wher…

---

## [Partial functions](https://discourse.julialang.org/t/partial-functions/2206)

<div class="topic-metadata">

**Author:** [@HarrisonGrodin](https://discourse.julialang.org/u/HarrisonGrodin)\
**Replies:** 4\
**Last updated:** [February 22, 2017, 4:43am UTC](https://discourse.julialang.org/t/partial-functions/2206 "2017-02-22T04:43:01Z")

</div>

There has already been a discussion about potential currying, and I agree with the outcome. However, it would be quite convenient to have some form of partial functions implemented. Prelude\> let f x y z = x + y + z Prel…

---

## [Xeon Phi Knights Landing](https://discourse.julialang.org/t/xeon-phi-knights-landing/2203)

<div class="topic-metadata">

**Author:** [@hsseung](https://discourse.julialang.org/u/hsseung)\
**Replies:** 3\
**Last updated:** [February 21, 2017, 7:56am UTC](https://discourse.julialang.org/t/xeon-phi-knights-landing/2203 "2017-02-21T07:56:58Z")

</div>

I’ve got a new Xeon Phi Knights Landing machine, and I tried out the stock Julia 0.5 binary. Matrix multiplication is painfully slow (\>100x). Recompilation with MKL 2017 failed. Before I go any further, if anyone out the…

---

## [AST nirvana](https://discourse.julialang.org/t/ast-nirvana/1768)

<div class="topic-metadata">

**Author:** [@bramtayl](https://discourse.julialang.org/u/bramtayl)\
**Replies:** 3\
**Last updated:** [February 20, 2017, 4:16am UTC](https://discourse.julialang.org/t/ast-nirvana/1768 "2017-02-20T04:16:14Z")

</div>

I’m in general a huge fan of Julia AST’s. But there’s a few changes I’d make if I could: Line numbers would not be separate arguments to begin blocks. Instead, there would be a :numbered\_line head which takes two argume…

---

## [Separate REQUIRE for deps/build.jl](https://discourse.julialang.org/t/separate-require-for-deps-build-jl/2172)

<div class="topic-metadata">

**Author:** [@ScottPJones](https://discourse.julialang.org/u/ScottPJones)\
**Replies:** 2\
**Last updated:** [February 19, 2017, 6:10pm UTC](https://discourse.julialang.org/t/separate-require-for-deps-build-jl/2172 "2017-02-19T18:10:34Z")

</div>

I’m not sure if this has already been thought about for the Pkg3 design, however, it would be very useful for the current Pkg to allow having addition requirements for deps/build.jl to be in a deps/REQUIRE, in the same w…

---

## [Build Error (Win): Compiling with MinGW/MSYS2 from source](https://discourse.julialang.org/t/build-error-win-compiling-with-mingw-msys2-from-source/2078)

<div class="topic-metadata">

**Author:** [@Martin\_Florek](https://discourse.julialang.org/u/Martin_Florek)\
**Replies:** 4\
**Last updated:** [February 18, 2017, 2:40am UTC](https://discourse.julialang.org/t/build-error-win-compiling-with-mingw-msys2-from-source/2078 "2017-02-18T02:40:07Z")

</div>

Could you tell me how to solve this problems, please? I tried to compile the Julia from source code on Windows 8.1. I followed the instructions for README.windows.md and by the way “Compiling with MinGW/MSYS2”. I’m chan…

---

## [Problem with A\_mul\_B! and plan\_idct, possible bug?](https://discourse.julialang.org/t/problem-with-a-mul-b-and-plan-idct-possible-bug/2025)

<div class="topic-metadata">

**Author:** [@nantonel](https://discourse.julialang.org/u/nantonel)\
**Replies:** 2\
**Last updated:** [February 17, 2017, 9:54pm UTC](https://discourse.julialang.org/t/problem-with-a-mul-b-and-plan-idct-possible-bug/2025 "2017-02-17T21:54:09Z")

</div>

Hi all! I’m running Julia 0.5 on Linux, and I found this weird thing, which I think could be a bug: x = randn(10); # input value x2 = copy(x); # copy of input value y = zeros(10); # output A =…

---

## [Why sum\_kbn can't sum generators?](https://discourse.julialang.org/t/why-sum-kbn-cant-sum-generators/1717)

<div class="topic-metadata">

**Author:** [@e3c6](https://discourse.julialang.org/u/e3c6)\
**Replies:** 5\
**Last updated:** [February 16, 2017, 8:53pm UTC](https://discourse.julialang.org/t/why-sum-kbn-cant-sum-generators/1717 "2017-02-16T20:53:31Z")

</div>

sum\_kbn(i for i = 1:10) raises a MethodError: ERROR: MethodError: no method matching sum\_kbn(::Base.Generator{UnitRange{Int64},##9#10}) Closest candidates are: sum\_kbn{T\<:AbstractFloat}(::AbstractArray{T\<:AbstractFl…

---

## [Inconsistent printing of old \`immutable\`s and new \`struct\`s](https://discourse.julialang.org/t/inconsistent-printing-of-old-immutable-s-and-new-struct-s/2077)

<div class="topic-metadata">

**Author:** [@HarrisonGrodin](https://discourse.julialang.org/u/HarrisonGrodin)\
**Replies:** 6\
**Last updated:** [February 14, 2017, 4:17am UTC](https://discourse.julialang.org/t/inconsistent-printing-of-old-immutable-s-and-new-struct-s/2077 "2017-02-14T04:17:44Z")

</div>

In v0.5-, instances of immutables (and regular types) print without spaces after commas. julia\> immutable Point x::Int y::Int end julia\> Point(3,4) Point(3,4) I noticed, though, that the n…

---

## [File organization in Base, and modularity](https://discourse.julialang.org/t/file-organization-in-base-and-modularity/2019)

<div class="topic-metadata">

**Author:** [@andyferris](https://discourse.julialang.org/u/andyferris)\
**Replies:** 3\
**Last updated:** [February 14, 2017, 12:24am UTC](https://discourse.julialang.org/t/file-organization-in-base-and-modularity/2019 "2017-02-14T00:24:52Z")

</div>

I have been playing with the code in LinAlg with the aim of replacing Ac\_mul\_B and so on with calls to \* using RowVector, TransposedMatrix and ConjArray. Since this affects almost all of the matrix multiplication code, I…

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

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