# Internals & Design

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

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

**Page:** 76

---

## [Why is there no union!(::Vector,::Vector)?](https://discourse.julialang.org/t/why-is-there-no-union-vector-vector/1366)

<div class="topic-metadata">

**Author:** [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Replies:** 12\
**Last updated:** [January 12, 2017, 12:49pm UTC](https://discourse.julialang.org/t/why-is-there-no-union-vector-vector/1366 "2017-01-12T12:49:59Z")

</div>

I thought I would ask here before opening an issue. Context: I was running a script that was using modules that I did not want to wrap up as a package, so at the beginning I had something like push!(LOAD\_PATH, expanduse…

---

## [A != b != c](https://discourse.julialang.org/t/a-b-c/1347)

<div class="topic-metadata">

**Author:** [@pint](https://discourse.julialang.org/u/pint)\
**Replies:** 27\
**Last updated:** [January 11, 2017, 4:26pm UTC](https://discourse.julialang.org/t/a-b-c/1347 "2017-01-11T16:26:17Z")

</div>

a == b == c is a very nice construct. a \< b \> c too. however julia allows a != b != c, but i would call it contraintuitive, because it is true if a == c. my thinking is that != should not allow this at all, for it lacks …

---

## [Package Development Checklist, Flow, Prerequisites, Quickstart guide, etc](https://discourse.julialang.org/t/package-development-checklist-flow-prerequisites-quickstart-guide-etc/1408)

<div class="topic-metadata">

**Author:** [@philip](https://discourse.julialang.org/u/philip)\
**Replies:** 2\
**Last updated:** [January 11, 2017, 2:53pm UTC](https://discourse.julialang.org/t/package-development-checklist-flow-prerequisites-quickstart-guide-etc/1408 "2017-01-11T14:53:49Z")

</div>

Hi–I’m wondering how a beginner package developer can develop an objective sense of whether or not one’s package is “useful” and “up-to-date.” I break this question down into a few components, and presumably there are ma…

---

## [Support for displaying non-identifier characters in help via #19858](https://discourse.julialang.org/t/support-for-displaying-non-identifier-characters-in-help-via-19858/1324)

<div class="topic-metadata">

**Author:** [@ScottPJones](https://discourse.julialang.org/u/ScottPJones)\
**Replies:** 9\
**Last updated:** [January 7, 2017, 3:58am UTC](https://discourse.julialang.org/t/support-for-displaying-non-identifier-characters-in-help-via-19858/1324 "2017-01-07T03:58:32Z")

</div>

I love @stevengj new PRs that just got merged, just found a minor problem though: help?\> ⊻ "⊻" can be typed by \\xor\<tab\> help?\> † ERROR: Invalid @var syntax \`invalid character "†"\`.

---

## [Avoid calling push! in Base.find](https://discourse.julialang.org/t/avoid-calling-push-in-base-find/1336)

<div class="topic-metadata">

**Author:** [@Diego\_Javier\_Zea](https://discourse.julialang.org/u/Diego_Javier_Zea)\
**Replies:** 2\
**Last updated:** [January 7, 2017, 12:20am UTC](https://discourse.julialang.org/t/avoid-calling-push-in-base-find/1336 "2017-01-07T00:20:28Z")

</div>

I don’t understand why the actual find function fills a 0 length array using push! to finally create other array and copy data to it. However, I write this version which avoid calling push! and it’s faster than the actua…

---

## [Overloading f(x) call syntax with \`call\` generic](https://discourse.julialang.org/t/overloading-f-x-call-syntax-with-call-generic/874)

<div class="topic-metadata">

**Author:** [@TomasPuverle](https://discourse.julialang.org/u/TomasPuverle)\
**Replies:** 20\
**Last updated:** [January 6, 2017, 9:06am UTC](https://discourse.julialang.org/t/overloading-f-x-call-syntax-with-call-generic/874 "2017-01-06T09:06:16Z")

</div>

Hi, Rather then overloading individual operators (or functions, for that matter), is it possible to “overload” the “desuggared” function invocation? For example, supposed I have a type type MyType end x = MyType() y …

---

## [Is 0 .\< A .\< 1 going away?](https://discourse.julialang.org/t/is-0-a-1-going-away/1313)

<div class="topic-metadata">

**Author:** [@Paul\_Soderlind](https://discourse.julialang.org/u/Paul_Soderlind)\
**Replies:** 2\
**Last updated:** [January 5, 2017, 8:54pm UTC](https://discourse.julialang.org/t/is-0-a-1-going-away/1313 "2017-01-05T20:54:26Z")

</div>

Is 0 .\< A .\< 1 (where A is an array) going away in 0.6 and beyond? Would be good to know. Reason for asking: version 0.6.0-dev.1924 (Windows 64) warns that this is deprecated. /Paul S

---

## [Writing maintainable julia code?](https://discourse.julialang.org/t/writing-maintainable-julia-code/1286)

<div class="topic-metadata">

**Author:** [@lobingera](https://discourse.julialang.org/u/lobingera)\
**Replies:** 10\
**Last updated:** [January 5, 2017, 8:17pm UTC](https://discourse.julialang.org/t/writing-maintainable-julia-code/1286 "2017-01-05T20:17:48Z")

</div>

I was following a little bit the plotting packages discussion and some the usual claims about package X, Y and Z showed up and the question “Why don’t people just work on this?” (speed, extendability etc.) turned up in m…

---

## [What is the standard documentation format when writting docstrings of parametric-type](https://discourse.julialang.org/t/what-is-the-standard-documentation-format-when-writting-docstrings-of-parametric-type/1293)

<div class="topic-metadata">

**Author:** [@Datseris](https://discourse.julialang.org/u/Datseris)\
**Replies:** 1\
**Last updated:** [January 5, 2017, 5:55am UTC](https://discourse.julialang.org/t/what-is-the-standard-documentation-format-when-writting-docstrings-of-parametric-type/1293 "2017-01-05T05:55:50Z")

</div>

Hello I am writing a small little package and now I am editing the documentation strings. My question is the following: Which of the following two is the preferred/most idiomatic in Julia? First: """ \`cyclotron{T\<:Abs…

---

## [Unit testing macros with gensyms](https://discourse.julialang.org/t/unit-testing-macros-with-gensyms/1284)

<div class="topic-metadata">

**Author:** [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Replies:** 1\
**Last updated:** [January 4, 2017, 9:01pm UTC](https://discourse.julialang.org/t/unit-testing-macros-with-gensyms/1284 "2017-01-04T21:01:56Z")

</div>

What are the best practices for unit testing compicated macros that use gensym, preferably with Base.Test? Since gensym always returns different results, I cannot simply test for expression equality. Is there a way to “…

---

## [Steven Johnson's #19847 (more verbose multi-line display for Char)](https://discourse.julialang.org/t/steven-johnsons-19847-more-verbose-multi-line-display-for-char/1268)

<div class="topic-metadata">

**Author:** [@ScottPJones](https://discourse.julialang.org/u/ScottPJones)\
**Replies:** 1\
**Last updated:** [January 4, 2017, 2:34am UTC](https://discourse.julialang.org/t/steven-johnsons-19847-more-verbose-multi-line-display-for-char/1268 "2017-01-04T02:34:52Z")

</div>

This is excellent! What I think would be very useful to have added to this PR is to display the possible \\\<name\>\<tab\> (and there may be more than one) methods for inputting the character. It might also be very useful t…

---

## [Suggestion: Support universal newlines and make it default for Text IO](https://discourse.julialang.org/t/suggestion-support-universal-newlines-and-make-it-default-for-text-io/1222)

<div class="topic-metadata">

**Author:** [@mpastell](https://discourse.julialang.org/u/mpastell)\
**Replies:** 0\
**Last updated:** [December 30, 2016, 10:26pm UTC](https://discourse.julialang.org/t/suggestion-support-universal-newlines-and-make-it-default-for-text-io/1222 "2016-12-30T22:26:11Z")

</div>

Hi, I just opened an issue on Github suggesting support for Python style for universal newlines in Julia and realized maybe I should have posted here first. Anyway here is a link to the suggestion https://github.com/Ju…

---

## [RFC: test file organization proposal](https://discourse.julialang.org/t/rfc-test-file-organization-proposal/1170)

<div class="topic-metadata">

**Author:** [@StefanKarpinski](https://discourse.julialang.org/u/StefanKarpinski)\
**Replies:** 19\
**Last updated:** [December 28, 2016, 11:07pm UTC](https://discourse.julialang.org/t/rfc-test-file-organization-proposal/1170 "2016-12-28T23:07:12Z")

</div>

I would propose the following rules for organizing files in test directories: any test/\*.jl file is a test file for any directory test/foo/ if test/foo.jl exists, test/foo/ contains support files for test/foo.jl and i…

---

## [What is the meaning of \`total = f\_value + zero(f\_value)\`?\`](https://discourse.julialang.org/t/what-is-the-meaning-of-total-f-value-zero-f-value/1156)

<div class="topic-metadata">

**Author:** [@mzaffalon](https://discourse.julialang.org/u/mzaffalon)\
**Replies:** 7\
**Last updated:** [December 28, 2016, 12:04am UTC](https://discourse.julialang.org/t/what-is-the-meaning-of-total-f-value-zero-f-value/1156 "2016-12-28T00:04:59Z")

</div>

What is the reason to add zero(f\_value) in line https://github.com/JuliaLang/julia/blob/071c60a32773edc1e0d0d50c0aa1c138f4f7a36f/base/statistics.jl#L18 Does it not evaluate to f\_value without any change of type?

---

## [In vs haskey order of parameters](https://discourse.julialang.org/t/in-vs-haskey-order-of-parameters/1128)

<div class="topic-metadata">

**Author:** [@TomasPuverle](https://discourse.julialang.org/u/TomasPuverle)\
**Replies:** 5\
**Last updated:** [December 26, 2016, 8:10pm UTC](https://discourse.julialang.org/t/in-vs-haskey-order-of-parameters/1128 "2016-12-26T20:10:21Z")

</div>

Hello, I was wondering if there was any reason why the signatures of some of the collection methods are “inconsistent”. For example, in(value, collection), but haskey(dict, key), but perhaps again push!(collection, va…

---

## [Idea for potentially easier to parse/read syntax for type constraints in #18457](https://discourse.julialang.org/t/idea-for-potentially-easier-to-parse-read-syntax-for-type-constraints-in-18457/1139)

<div class="topic-metadata">

**Author:** [@ScottPJones](https://discourse.julialang.org/u/ScottPJones)\
**Replies:** 6\
**Last updated:** [December 26, 2016, 4:22pm UTC](https://discourse.julialang.org/t/idea-for-potentially-easier-to-parse-read-syntax-for-type-constraints-in-18457/1139 "2016-12-26T16:22:43Z")

</div>

Reading the discussion of #18457 (which I have been looking forward to since JuliaCon 2015!), I saw the following comment: https://github.com/JuliaLang/julia/pull/18457#issuecomment-268716047 and wondered if maybe an al…

---

## [Boolean operations on large bit vectors / arrays](https://discourse.julialang.org/t/boolean-operations-on-large-bit-vectors-arrays/1137)

<div class="topic-metadata">

**Author:** [@ScottPJones](https://discourse.julialang.org/u/ScottPJones)\
**Replies:** 2\
**Last updated:** [December 26, 2016, 3:26pm UTC](https://discourse.julialang.org/t/boolean-operations-on-large-bit-vectors-arrays/1137 "2016-12-26T15:26:40Z")

</div>

In https://github.com/JuliaLang/julia/pull/17623#issuecomment-268703295, @stevengj had asked how common operations on large bit arrays were. For database queries, they are very common (it is a common technique to use bi…

---

## [Avoid LLVM setjmp bug](https://discourse.julialang.org/t/avoid-llvm-setjmp-bug/1140)

<div class="topic-metadata">

**Author:** [@jameson](https://discourse.julialang.org/u/jameson)\
**Replies:** 0\
**Last updated:** [December 24, 2016, 7:43pm UTC](https://discourse.julialang.org/t/avoid-llvm-setjmp-bug/1140 "2016-12-24T19:43:11Z")

</div>

Currently, we can’t reliably run LLVM optimizations on any function with a try/catch since it mis-optimizes it. This is captured in the following issue: Codegen bugs are always really nasty, since they can be so unpred…

---

## [Removing string operations on vectors (mentioned in #19449)](https://discourse.julialang.org/t/removing-string-operations-on-vectors-mentioned-in-19449/1136)

<div class="topic-metadata">

**Author:** [@ScottPJones](https://discourse.julialang.org/u/ScottPJones)\
**Replies:** 2\
**Last updated:** [December 24, 2016, 6:42pm UTC](https://discourse.julialang.org/t/removing-string-operations-on-vectors-mentioned-in-19449/1136 "2016-12-24T18:42:25Z")

</div>

Jeff Bezanson recently mentioned that he had removed some string operations on vectors, however, since there is no binary string type in Julia (b"abcdef" returns a Vector{UInt8}), nor efficient methods for dealing with p…

---

## [Alternative proposal to getindex pun for typed array literals](https://discourse.julialang.org/t/alternative-proposal-to-getindex-pun-for-typed-array-literals/1081)

<div class="topic-metadata">

**Author:** [@andyferris](https://discourse.julialang.org/u/andyferris)\
**Replies:** 14\
**Last updated:** [December 21, 2016, 10:15pm UTC](https://discourse.julialang.org/t/alternative-proposal-to-getindex-pun-for-typed-array-literals/1081 "2016-12-21T22:15:09Z")

</div>

I can’t remember where this was discussed, but I do recall someone stating that Int32\[1, 2, 3\] was the one of the “worst puns” in the Julia language (being getindex on a type). But now with the “dot-call” syntax, could w…

---

## [Performance issue with specifying random number generator](https://discourse.julialang.org/t/performance-issue-with-specifying-random-number-generator/1076)

<div class="topic-metadata">

**Author:** [@danspielman](https://discourse.julialang.org/u/danspielman)\
**Replies:** 2\
**Last updated:** [December 21, 2016, 8:36am UTC](https://discourse.julialang.org/t/performance-issue-with-specifying-random-number-generator/1076 "2016-12-21T08:36:15Z")

</div>

I like the ability to specify the random number generator (RNG) in functions like rand(). This feature would be much more useful if we could tell rand() to use the default RNG, rather than one we supply. This could be …

---

## [Towards broadcast over combinations of sparse matrices and scalars](https://discourse.julialang.org/t/towards-broadcast-over-combinations-of-sparse-matrices-and-scalars/910)

<div class="topic-metadata">

**Author:** [@sacha](https://discourse.julialang.org/u/sacha)\
**Replies:** 7\
**Last updated:** [December 20, 2016, 6:21pm UTC](https://discourse.julialang.org/t/towards-broadcast-over-combinations-of-sparse-matrices-and-scalars/910 "2016-12-20T18:21:36Z")

</div>

In #19239, @pabloferz, @stevengj and I began exploring the following approach to broadcast over combinations of sparse matrices and scalars: construct a closure incorporating the scalar arguments, and then broadcast that…

---

## [Traits and \`where\` syntax](https://discourse.julialang.org/t/traits-and-where-syntax/988)

<div class="topic-metadata">

**Author:** [@andyferris](https://discourse.julialang.org/u/andyferris)\
**Replies:** 8\
**Last updated:** [December 18, 2016, 11:36pm UTC](https://discourse.julialang.org/t/traits-and-where-syntax/988 "2016-12-18T23:36:49Z")

</div>

From time to time I’ve been thinking about how traits might work in the future in Julia. At JuliaCon 2016 there was some discussion of syntax involving an extra set of ::, such as f(a::AbstractArray::Dense) instead of f(…

---

## [Improved Installations from Executables](https://discourse.julialang.org/t/improved-installations-from-executables/1001)

<div class="topic-metadata">

**Author:** [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Replies:** 2\
**Last updated:** [December 18, 2016, 5:40am UTC](https://discourse.julialang.org/t/improved-installations-from-executables/1001 "2016-12-18T05:40:34Z")

</div>

Most users are probably installing Julia from the executables instead of building from source. Given that, is it possible for the executables to be a little smarter? For example, what about having them re-build the syste…

---

## [Mathematical Interfaces in Base with Instantiations in Packages?](https://discourse.julialang.org/t/mathematical-interfaces-in-base-with-instantiations-in-packages/1005)

<div class="topic-metadata">

**Author:** [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Replies:** 0\
**Last updated:** [December 16, 2016, 9:32pm UTC](https://discourse.julialang.org/t/mathematical-interfaces-in-base-with-instantiations-in-packages/1005 "2016-12-16T21:32:06Z")

</div>

Excuse me if some of this sounds a little off (I am not too familiar with how Base does all of this), but could the abstract interfaces of some of these more central “Base packages” be separated from the instantiations? …

---

## [Value type dispatch on constants](https://discourse.julialang.org/t/value-type-dispatch-on-constants/858)

<div class="topic-metadata">

**Author:** [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Replies:** 3\
**Last updated:** [December 16, 2016, 8:42pm UTC](https://discourse.julialang.org/t/value-type-dispatch-on-constants/858 "2016-12-16T20:42:01Z")

</div>

This is best explained by an example. type Test x::Vector{Float64} end import Base: getindex getindex(s::Test,sym::Symbol) = getindex(s,Val{sym}) getindex(s::Test,::Type{Val{:test\_sym}}) = reshape(view(s.x,1:9),3,3) …

---

## [Would the Scala convention for anonymous function arguments be feasible?](https://discourse.julialang.org/t/would-the-scala-convention-for-anonymous-function-arguments-be-feasible/659)

<div class="topic-metadata">

**Author:** [@dmbates](https://discourse.julialang.org/u/dmbates)\
**Replies:** 24\
**Last updated:** [December 16, 2016, 1:45pm UTC](https://discourse.julialang.org/t/would-the-scala-convention-for-anonymous-function-arguments-be-feasible/659 "2016-12-16T13:45:32Z")

</div>

In Scala there is a convention that the function argument to functional programming operations like map can be an expression that uses an underscore. The convention is that the anonymous function in a Julia call sum(x …

---

## [Extract argument names](https://discourse.julialang.org/t/extract-argument-names/862)

<div class="topic-metadata">

**Author:** [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Replies:** 2\
**Last updated:** [December 14, 2016, 5:48pm UTC](https://discourse.julialang.org/t/extract-argument-names/862 "2016-12-14T17:48:29Z")

</div>

I am trying to figure out the API for extracting argument names from (a method of a) function. What I want to achieve roughly looks like this: care about positional argument names only, keywords are ignored functions w…

---

## [Non-collecting iteration (one-liner for)](https://discourse.julialang.org/t/non-collecting-iteration-one-liner-for/925)

<div class="topic-metadata">

**Author:** [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Replies:** 3\
**Last updated:** [December 13, 2016, 7:21pm UTC](https://discourse.julialang.org/t/non-collecting-iteration-one-liner-for/925 "2016-12-13T19:21:59Z")

</div>

Looking at source code in Base I notice a lot of one liners that look like this: for i in 1:n; do\_something(i) end and a rarer for ignored\_index in 1:n; do\_this\_n\_times() end A simple grep 'for.\*end' \*\*/\*.jl gives 15…

---

## [Macros and standard evalution](https://discourse.julialang.org/t/macros-and-standard-evalution/876)

<div class="topic-metadata">

**Author:** [@bramtayl](https://discourse.julialang.org/u/bramtayl)\
**Replies:** 9\
**Last updated:** [December 13, 2016, 6:18am UTC](https://discourse.julialang.org/t/macros-and-standard-evalution/876 "2016-12-13T06:18:11Z")

</div>

I’ve been using this in ChainMap for a while, inspired by hadley’s non-standard evalutation paradigm. Imagine a function function binary(a, b, c) Expr(:call, b, a, c) end I’ve been using a macro called @nonstandar…

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

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