# Internals & Design

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

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

**Page:** 55

---

## [\#29056 for integer ranges too?](https://discourse.julialang.org/t/29056-for-integer-ranges-too/15787)

<div class="topic-metadata">

**Author:** [@loisel](https://discourse.julialang.org/u/loisel)\
**Replies:** 0\
**Last updated:** [October 2, 2018, 12:51pm UTC](https://discourse.julialang.org/t/29056-for-integer-ranges-too/15787 "2018-10-02T12:51:45Z")

</div>

Is there any reason why #29056 only applies to float ranges? julia\> (1:5)\*0 ERROR: ArgumentError: step cannot be zero Stacktrace: \[1\] steprange\_last( ::Int64, ::Int64, ::Int64 ) at ./range.jl:190 \[2\] Type at ./range…

---

## [Performance of lazy wrappers applied to sparse matrices](https://discourse.julialang.org/t/performance-of-lazy-wrappers-applied-to-sparse-matrices/15431)

<div class="topic-metadata">

**Author:** [@klacru](https://discourse.julialang.org/u/klacru)\
**Replies:** 15\
**Last updated:** [October 1, 2018, 9:53am UTC](https://discourse.julialang.org/t/performance-of-lazy-wrappers-applied-to-sparse-matrices/15431 "2018-10-01T09:53:20Z")

</div>

For motivation please look at the following suite of benchmarks: julia\> m, n , nz = 10000, 10000, 1000000 (10000, 10000, 1000000) julia\> A = spzeros(m, n) 10000×10000 SparseMatrixCSC{Float64,Int64} with 0 stored entrie…

---

## [CSV Reading (rewrite in C?)](https://discourse.julialang.org/t/csv-reading-rewrite-in-c/15537)

<div class="topic-metadata">

**Author:** [@iwelch](https://discourse.julialang.org/u/iwelch)\
**Replies:** 50\
**Last updated:** [October 1, 2018, 4:13am UTC](https://discourse.julialang.org/t/csv-reading-rewrite-in-c/15537 "2018-10-01T04:13:24Z")

</div>

I am toying with the idea of writing a very fast CSV parser in C that can handle most of the relevant use cases. I can write the C parser, but I would need an example of a C function returning a DataFrame to julia. ide…

---

## [Docstrings attached to signatures](https://discourse.julialang.org/t/docstrings-attached-to-signatures/15612)

<div class="topic-metadata">

**Author:** [@thofma](https://discourse.julialang.org/u/thofma)\
**Replies:** 2\
**Last updated:** [September 30, 2018, 9:11am UTC](https://discourse.julialang.org/t/docstrings-attached-to-signatures/15612 "2018-09-30T09:11:48Z")

</div>

As part of Change signatures that help is showing (revive #25672, fix #20064) by thofma · Pull Request #29102 · JuliaLang/julia · GitHub and https://github.com/JuliaDocs/Documenter.jl/issues/839 I am digging a bit throug…

---

## [Equality of empty ranges](https://discourse.julialang.org/t/equality-of-empty-ranges/15644)

<div class="topic-metadata">

**Author:** [@sostock](https://discourse.julialang.org/u/sostock)\
**Replies:** 3\
**Last updated:** [September 28, 2018, 10:03pm UTC](https://discourse.julialang.org/t/equality-of-empty-ranges/15644 "2018-09-28T22:03:31Z")

</div>

In order to be equal, ranges need to have the same first element, last element, and step, even if they are empty. In my opinion, this is unintuitive: julia\> 2:1 == 1:0 false It also breaks the transitivity of ==: juli…

---

## [Global Type-Locking](https://discourse.julialang.org/t/global-type-locking/15620)

<div class="topic-metadata">

**Author:** [@iwelch](https://discourse.julialang.org/u/iwelch)\
**Replies:** 8\
**Last updated:** [September 28, 2018, 6:58pm UTC](https://discourse.julialang.org/t/global-type-locking/15620 "2018-09-28T18:58:22Z")

</div>

https://github.com/JuliaLang/julia/issues/8870 I just ran (forgetfully) into the global performance issue. after it has bitten me often enough, I will probably remember it. I cannot use a const, because I need to chan…

---

## [FemtoCleaner usage HOWTO](https://discourse.julialang.org/t/femtocleaner-usage-howto/11762)

<div class="topic-metadata">

**Author:** [@Keno](https://discourse.julialang.org/u/Keno)\
**Replies:** 8\
**Last updated:** [September 27, 2018, 2:35pm UTC](https://discourse.julialang.org/t/femtocleaner-usage-howto/11762 "2018-09-27T14:35:47Z")

</div>

Hi folks, femtocleaner is gradually gaining knowledge of all the 0.7 deprecations. At this point it should already be helpful in upgrading packages to 0.7, so I figured I’d put together a quick tutorial for how to go ab…

---

## [Binary dependencies](https://discourse.julialang.org/t/binary-dependencies/11623)

<div class="topic-metadata">

**Author:** [@barche](https://discourse.julialang.org/u/barche)\
**Replies:** 29\
**Last updated:** [September 27, 2018, 2:27am UTC](https://discourse.julialang.org/t/binary-dependencies/11623 "2018-09-27T02:27:13Z")

</div>

Following up on this discussion about CxxWrap.jl I would like to discuss some of the choices that can be made regarding binary dependencies: Build from source or download binaries? Central or per-package installation p…

---

## [Convert axes(a) etc to StepRange with a step other than 1](https://discourse.julialang.org/t/convert-axes-a-etc-to-steprange-with-a-step-other-than-1/15451)

<div class="topic-metadata">

**Author:** [@Raf](https://discourse.julialang.org/u/Raf)\
**Replies:** 11\
**Last updated:** [September 25, 2018, 7:54am UTC](https://discourse.julialang.org/t/convert-axes-a-etc-to-steprange-with-a-step-other-than-1/15451 "2018-09-25T07:54:09Z")

</div>

I want to loop over a matrix that might have custom indices. I can use axes(a) to get these. But I need a step size other than 1. Is there a simple, generic way of converting Base.OneTo to a StepRange with a step other …

---

## [Parametric inheritance woes vs traits](https://discourse.julialang.org/t/parametric-inheritance-woes-vs-traits/15397)

<div class="topic-metadata">

**Author:** [@datnamer](https://discourse.julialang.org/u/datnamer)\
**Replies:** 2\
**Last updated:** [September 23, 2018, 11:46pm UTC](https://discourse.julialang.org/t/parametric-inheritance-woes-vs-traits/15397 "2018-09-23T23:46:02Z")

</div>

I’ve noticed some discussion of issues relating to Julia’s parametric re-usability for array programming (see flux’s issues for example on rewriting functions for the GPU) but haven’t personally encountered some issues d…

---

## [What is the best way to define abstract math?](https://discourse.julialang.org/t/what-is-the-best-way-to-define-abstract-math/15343)

<div class="topic-metadata">

**Author:** [@1115](https://discourse.julialang.org/u/1115)\
**Replies:** 6\
**Last updated:** [September 22, 2018, 6:38pm UTC](https://discourse.julialang.org/t/what-is-the-best-way-to-define-abstract-math/15343 "2018-09-22T18:38:06Z")

</div>

I want to define Clifford Algebra, something already realized in But, I don’t think it can be helpful to my project. Because I want its arithmatic structure rather than these types. It it possible to specify the arith…

---

## [Bug in isvalid with an overlong UTF-8 encoded vector or string](https://discourse.julialang.org/t/bug-in-isvalid-with-an-overlong-utf-8-encoded-vector-or-string/15290)

<div class="topic-metadata">

**Author:** [@ScottPJones](https://discourse.julialang.org/u/ScottPJones)\
**Replies:** 3\
**Last updated:** [September 21, 2018, 10:07pm UTC](https://discourse.julialang.org/t/bug-in-isvalid-with-an-overlong-utf-8-encoded-vector-or-string/15290 "2018-09-21T22:07:50Z")

</div>

The code (at strings/string.jl:168 on version 1.0) correctly returns false for 2 byte and 4 byte overlong sequences, but is broken for 3 byte overlong sequences. julia\> isvalid(String, UInt8\[0xf0,128,128,128\]) false ju…

---

## [Buffer stealing reinterpret/reshape](https://discourse.julialang.org/t/buffer-stealing-reinterpret-reshape/15269)

<div class="topic-metadata">

**Author:** [@foobar\_lv2](https://discourse.julialang.org/u/foobar_lv2)\
**Replies:** 9\
**Last updated:** [September 21, 2018, 2:26pm UTC](https://discourse.julialang.org/t/buffer-stealing-reinterpret-reshape/15269 "2018-09-21T14:26:00Z")

</div>

The main problem with reinterpreting/reshaping arrays is that we will in the end get two arrays referring to the same memory region. This makes aliasing analysis complicated, is not always respected by deepcopy (I don’t …

---

## [Base and Standard Library](https://discourse.julialang.org/t/base-and-standard-library/15272)

<div class="topic-metadata">

**Author:** [@oheil](https://discourse.julialang.org/u/oheil)\
**Replies:** 4\
**Last updated:** [September 21, 2018, 1:46pm UTC](https://discourse.julialang.org/t/base-and-standard-library/15272 "2018-09-21T13:46:14Z")

</div>

With Julia 0.7 (and 1.0) “Base” and “Standard Library” seem to be different things. Before (0.64 and lower), according to the Docs, Standard Library was the only library with module name “Base”, e.g. Base.exit and all…

---

## [Possible vcat bug?](https://discourse.julialang.org/t/possible-vcat-bug/15223)

<div class="topic-metadata">

**Author:** [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Replies:** 1\
**Last updated:** [September 21, 2018, 6:06am UTC](https://discourse.julialang.org/t/possible-vcat-bug/15223 "2018-09-21T06:06:54Z")

</div>

Asking before opening an issue, should I? MWE: julia\> VERSION v"1.1.0-DEV.298" julia\> vcat(Nothing\[\], \[missing\], \[1.0\], \[Int8(1)\]) ERROR: MethodError: convert(::Type{Union{Missing, Nothing, Float64}}, ::Int8) is ambigu…

---

## [typemax(Float64) and typemin(Float64) returns Inf and -Inf in 1.0.0](https://discourse.julialang.org/t/typemax-float64-and-typemin-float64-returns-inf-and-inf-in-1-0-0/15256)

<div class="topic-metadata">

**Author:** [@mwsohn](https://discourse.julialang.org/u/mwsohn)\
**Replies:** 3\
**Last updated:** [September 21, 2018, 12:20am UTC](https://discourse.julialang.org/t/typemax-float64-and-typemin-float64-returns-inf-and-inf-in-1-0-0/15256 "2018-09-21T00:20:59Z")

</div>

These are not informative. Is this by design or are there alternatives?

---

## [How to start contributing?](https://discourse.julialang.org/t/how-to-start-contributing/15181)

<div class="topic-metadata">

**Author:** [@mpal](https://discourse.julialang.org/u/mpal)\
**Replies:** 4\
**Last updated:** [September 20, 2018, 9:01pm UTC](https://discourse.julialang.org/t/how-to-start-contributing/15181 "2018-09-20T21:01:49Z")

</div>

Hi there! I am new to open source community and looking forward to contribute in open source projects.I am using Julia for around two months and am extremely impressed with the language. I am interested in scientific c…

---

## [Would matrix multiplication benefit if Julia allowed for row-major arrays as well?](https://discourse.julialang.org/t/would-matrix-multiplication-benefit-if-julia-allowed-for-row-major-arrays-as-well/15214)

<div class="topic-metadata">

**Author:** [@AdamR](https://discourse.julialang.org/u/AdamR)\
**Replies:** 1\
**Last updated:** [September 20, 2018, 11:37am UTC](https://discourse.julialang.org/t/would-matrix-multiplication-benefit-if-julia-allowed-for-row-major-arrays-as-well/15214 "2018-09-20T11:37:16Z")

</div>

Just a random thought. Consider multiplication of three matrices: A \* (B \* C) If A is column-major, would the execution times of the outer product be substantially smaller (if the size of the product B \* C and matrix A …

---

## [Add gitc\_commit\_is\_signed() to stdlib/LibGit2](https://discourse.julialang.org/t/add-gitc-commit-is-signed-to-stdlib-libgit2/15185)

<div class="topic-metadata">

**Author:** [@jac299792458](https://discourse.julialang.org/u/jac299792458)\
**Replies:** 1\
**Last updated:** [September 19, 2018, 8:09pm UTC](https://discourse.julialang.org/t/add-gitc-commit-is-signed-to-stdlib-libgit2/15185 "2018-09-19T20:09:23Z")

</div>

All, Here’s my lame attempt to extend Julia’s LibGit2 API: function gitc\_commit\_is\_signed(repo::GitRepo, hstr::AbstractString, sig\_type::AbstractString) isempty(hstr) && return fa…

---

## [\`Pkg.dev()\` and \`Pkg.free()\`](https://discourse.julialang.org/t/pkg-dev-and-pkg-free/15184)

<div class="topic-metadata">

**Author:** [@nickeubank](https://discourse.julialang.org/u/nickeubank)\
**Replies:** 2\
**Last updated:** [September 19, 2018, 5:22pm UTC](https://discourse.julialang.org/t/pkg-dev-and-pkg-free/15184 "2018-09-19T17:22:29Z")

</div>

Seems like dev and free only exist in interactive Pkg mode – plans to add to the regular julia Pkg module? Or am I missing something?

---

## [We have good package naming guidelines](https://discourse.julialang.org/t/we-have-good-package-naming-guidelines/15173)

<div class="topic-metadata">

**Author:** [@JeffreySarnoff](https://discourse.julialang.org/u/JeffreySarnoff)\
**Replies:** 0\
**Last updated:** [September 19, 2018, 11:55am UTC](https://discourse.julialang.org/t/we-have-good-package-naming-guidelines/15173 "2018-09-19T11:55:32Z")

</div>

And I have noticed submissions to METADATA that are oblivious to their beauty. It is doing the inexperienced author a favor when a package reviewer lets the person know about the relevant part of the docs and these exam…

---

## [No Dates.Period.Quarter type?](https://discourse.julialang.org/t/no-dates-period-quarter-type/15136)

<div class="topic-metadata">

**Author:** [@tbeason](https://discourse.julialang.org/u/tbeason)\
**Replies:** 2\
**Last updated:** [September 18, 2018, 5:06pm UTC](https://discourse.julialang.org/t/no-dates-period-quarter-type/15136 "2018-09-18T17:06:20Z")

</div>

I’ve noticed that there are many Dates.Periods available (the ones that you might expect). There are also many functions provided that go along with the Periods. For example, lastdayofmonth, lastdayofweek, etc. However, …

---

## [Adding a fallback method for all functions/callables and specific argument types](https://discourse.julialang.org/t/adding-a-fallback-method-for-all-functions-callables-and-specific-argument-types/15115)

<div class="topic-metadata">

**Author:** [@mohamed82008](https://discourse.julialang.org/u/mohamed82008)\
**Replies:** 2\
**Last updated:** [September 18, 2018, 10:03am UTC](https://discourse.julialang.org/t/adding-a-fallback-method-for-all-functions-callables-and-specific-argument-types/15115 "2018-09-18T10:03:59Z")

</div>

Currently, this syntax is not supported: julia\> struct MyWrapperType{T} wrapped::T end julia\> (f::Any)(t::MyWrapperType) = f(t.wrapped) ERROR: cannot add methods to an abstract type Stacktrace: \[1\] t…

---

## [Taking sorting & ordering seriously](https://discourse.julialang.org/t/taking-sorting-ordering-seriously/14975)

<div class="topic-metadata">

**Author:** [@stabbles](https://discourse.julialang.org/u/stabbles)\
**Replies:** 15\
**Last updated:** [September 15, 2018, 11:51pm UTC](https://discourse.julialang.org/t/taking-sorting-ordering-seriously/14975 "2018-09-15T23:51:02Z")

</div>

Hi all, I’m happy to share this proof of concept about refactoring the sorting and ordering API in Julia: SortingSortingOut.jl The basic ideas are: To make Ordering objects more composable and reusable To figure out …

---

## [SymPy/LaTeXStrings/IJulia: Display of Syms in LaTeX expression in Jupyter](https://discourse.julialang.org/t/sympy-latexstrings-ijulia-display-of-syms-in-latex-expression-in-jupyter/14902)

<div class="topic-metadata">

**Author:** [@fgerick](https://discourse.julialang.org/u/fgerick)\
**Replies:** 3\
**Last updated:** [September 14, 2018, 7:43pm UTC](https://discourse.julialang.org/t/sympy-latexstrings-ijulia-display-of-syms-in-latex-expression-in-jupyter/14902 "2018-09-14T19:43:44Z")

</div>

Not sure where to post this problem. I encountered strange behaviour. Importing a third package can lead to the “loss” of LaTeX print of the SymPy.Sym in Jupyter. Example: using SymPy @syms x y x\*y nicely prints xy in …

---

## [Issue with macros and \`x\[end\]\`](https://discourse.julialang.org/t/issue-with-macros-and-x-end/14850)

<div class="topic-metadata">

**Author:** [@tomaklutfu](https://discourse.julialang.org/u/tomaklutfu)\
**Replies:** 8\
**Last updated:** [September 14, 2018, 7:40am UTC](https://discourse.julialang.org/t/issue-with-macros-and-x-end/14850 "2018-09-14T07:40:29Z")

</div>

Macros understand getindex syntax for numbers but not end word and throw error. julia\> @which xdots\[end\] ERROR: UndefVarError: end not defined Stacktrace: \[1\] top-level scope at none:0 julia\> @which xdots\[1\] getindex(…

---

## [Operations on expressions](https://discourse.julialang.org/t/operations-on-expressions/13666)

<div class="topic-metadata">

**Author:** [@tim](https://discourse.julialang.org/u/tim)\
**Replies:** 12\
**Last updated:** [September 11, 2018, 3:15pm UTC](https://discourse.julialang.org/t/operations-on-expressions/13666 "2018-09-11T15:15:37Z")

</div>

HI, is there a reason why there are no operations such as addition or subtraction defined on symbols and expression. I mean something like :(x\*y) + :z = :(x\*y + z). I just wrote down a few things like that (see https://…

---

## [How can I handle SIGINT when using libjulia C API (in Python ctypes)?](https://discourse.julialang.org/t/how-can-i-handle-sigint-when-using-libjulia-c-api-in-python-ctypes/14794)

<div class="topic-metadata">

**Author:** [@tkf](https://discourse.julialang.org/u/tkf)\
**Replies:** 0\
**Last updated:** [September 11, 2018, 2:06am UTC](https://discourse.julialang.org/t/how-can-i-handle-sigint-when-using-libjulia-c-api-in-python-ctypes/14794 "2018-09-11T02:06:21Z")

</div>

After I initialize libjulia by calling jl\_init\_with\_image, I found that libjulia takes over all SIGINT handlings. Is it correct? Is there any way for a host program (Python in my case) to handle the signals? I tried -…

---

## [Eigen: the odd duck?](https://discourse.julialang.org/t/eigen-the-odd-duck/14451)

<div class="topic-metadata">

**Author:** [@juthohaegeman](https://discourse.julialang.org/u/juthohaegeman)\
**Replies:** 19\
**Last updated:** [September 10, 2018, 3:32pm UTC](https://discourse.julialang.org/t/eigen-the-odd-duck/14451 "2018-09-10T15:32:51Z")

</div>

I reiterate a question from PR27212 in the hope it has some more visibility here. I very much like the new interface of the matrix factorizations (or was it decompositions? :slight\_smile:) in julia 0.7/1.0 and all the …

---

## [Adding file length as constraint to style guide](https://discourse.julialang.org/t/adding-file-length-as-constraint-to-style-guide/2005)

<div class="topic-metadata">

**Author:** [@djsegal](https://discourse.julialang.org/u/djsegal)\
**Replies:** 35\
**Last updated:** [September 9, 2018, 2:24pm UTC](https://discourse.julialang.org/t/adding-file-length-as-constraint-to-style-guide/2005 "2018-09-09T14:24:33Z")

</div>

I think most Julia packages are culprit to long file lengths. And as such, different cohesive blocks of logic are usually put into the same file Bugs hide in dirty code. And no open-source developer wants to touch an ug…

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

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