# Internals & Design

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

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

**Page:** 64

---

## [WIP: faster string sort](https://discourse.julialang.org/t/wip-faster-string-sort/7671)

<div class="topic-metadata">

**Author:** [@xiaodai](https://discourse.julialang.org/u/xiaodai)\
**Replies:** 92\
**Last updated:** [February 8, 2018, 8:55pm UTC](https://discourse.julialang.org/t/wip-faster-string-sort/7671 "2018-02-08T20:55:46Z")

</div>

I am working on making sorting of strings faster. The progress so far is that I can sort strings of 8 bytes in size as fast as radixsort in R (which is the fastest algorithm to sort strings found in the R/Python/Julia-ve…

---

## [Promotion and literals](https://discourse.julialang.org/t/promotion-and-literals/8895)

<div class="topic-metadata">

**Author:** [@foobar\_lv2](https://discourse.julialang.org/u/foobar_lv2)\
**Replies:** 10\
**Last updated:** [February 8, 2018, 3:38pm UTC](https://discourse.julialang.org/t/promotion-and-literals/8895 "2018-02-08T15:38:34Z")

</div>

So, crazy idea time (I am not sure whether this is a good idea): It is somewhat painful to deal with non-machine-sized values. For example an increment of an Int16 reads as x += Int16(1). I always thought that this was …

---

## [Cleaner API to allow \`replace\` to remove items without breaking anything](https://discourse.julialang.org/t/cleaner-api-to-allow-replace-to-remove-items-without-breaking-anything/8898)

<div class="topic-metadata">

**Author:** [@ScottPJones](https://discourse.julialang.org/u/ScottPJones)\
**Replies:** 2\
**Last updated:** [February 7, 2018, 6:19pm UTC](https://discourse.julialang.org/t/cleaner-api-to-allow-replace-to-remove-items-without-breaking-anything/8898 "2018-02-07T18:19:03Z")

</div>

I was happy to see that the idea of using nothing to indicate removing an entry was removed from the PR #25697, which would have broken a lot of code (we used nothing to indicate JSON null), and I think there is a cleane…

---

## [What's the best way to fix a metadata commit that has errors?](https://discourse.julialang.org/t/whats-the-best-way-to-fix-a-metadata-commit-that-has-errors/8893)

<div class="topic-metadata">

**Author:** [@xiaodai](https://discourse.julialang.org/u/xiaodai)\
**Replies:** 1\
**Last updated:** [February 7, 2018, 1:16pm UTC](https://discourse.julialang.org/t/whats-the-best-way-to-fix-a-metadata-commit-that-has-errors/8893 "2018-02-07T13:16:49Z")

</div>

I am developing some packages but then I run into issues where I tag a released and JuliaCIBot runs into an error because one of packages I had used in runtests.jl is not in REQUIRE. In that case, once I have fixed the …

---

## [Sorting precompile.jl (and removing duplicates)](https://discourse.julialang.org/t/sorting-precompile-jl-and-removing-duplicates/8882)

<div class="topic-metadata">

**Author:** [@ScottPJones](https://discourse.julialang.org/u/ScottPJones)\
**Replies:** 0\
**Last updated:** [February 7, 2018, 4:04am UTC](https://discourse.julialang.org/t/sorting-precompile-jl-and-removing-duplicates/8882 "2018-02-07T04:04:55Z")

</div>

I was looking into changing precompile.jl so that it displayed some sort of indication that it was actually working, and also whether by sorting, the parts being precompiled could be displayed when there are large number…

---

## [Anything like the Sage cell server in Julia, or planned for Julia?](https://discourse.julialang.org/t/anything-like-the-sage-cell-server-in-julia-or-planned-for-julia/8808)

<div class="topic-metadata">

**Author:** [@Henri\_Laurie](https://discourse.julialang.org/u/Henri_Laurie)\
**Replies:** 6\
**Last updated:** [February 5, 2018, 3:18pm UTC](https://discourse.julialang.org/t/anything-like-the-sage-cell-server-in-julia-or-planned-for-julia/8808 "2018-02-05T15:18:25Z")

</div>

Not sure how to tag this, but it seems a request for discussion of a new interface, so probably belongs under Development. I am wondering if anything like the Sage cell server is possible, desirable and contemplated in/…

---

## [Why do time quantities have to be integers?](https://discourse.julialang.org/t/why-do-time-quantities-have-to-be-integers/5864)

<div class="topic-metadata">

**Author:** [@yakir12](https://discourse.julialang.org/u/yakir12)\
**Replies:** 55\
**Last updated:** [February 5, 2018, 1:26am UTC](https://discourse.julialang.org/t/why-do-time-quantities-have-to-be-integers/5864 "2018-02-05T01:26:13Z")

</div>

I suspect this has been asked before, I apologize if that is the case. Why did we decide to not allow for Dates.Second(1.5)? 1.5Unitful.s works fine for instance…

---

## [Rationale for the removal of workspace()?](https://discourse.julialang.org/t/rationale-for-the-removal-of-workspace/8804)

<div class="topic-metadata">

**Author:** [@jonathanBieler](https://discourse.julialang.org/u/jonathanBieler)\
**Replies:** 5\
**Last updated:** [February 4, 2018, 9:29pm UTC](https://discourse.julialang.org/t/rationale-for-the-removal-of-workspace/8804 "2018-02-04T21:29:59Z")

</div>

Just curious, I’ve looked on github but haven’t found much information.

---

## [Thoughts on improvements to JSON parsing](https://discourse.julialang.org/t/thoughts-on-improvements-to-json-parsing/8812)

<div class="topic-metadata">

**Author:** [@ScottPJones](https://discourse.julialang.org/u/ScottPJones)\
**Replies:** 0\
**Last updated:** [February 4, 2018, 3:43pm UTC](https://discourse.julialang.org/t/thoughts-on-improvements-to-json-parsing/8812 "2018-02-04T15:43:14Z")

</div>

I’ve been thinking a lot recently about how to improve both the performance of parsing JSON (it is fairly critical in infrastructure these days, used in REST interfaces, for configuration files, for large data sets, and …

---

## [AbstractVector{\<:Pair} and AbstractDict](https://discourse.julialang.org/t/abstractvector-pair-and-abstractdict/8725)

<div class="topic-metadata">

**Author:** [@amellnik](https://discourse.julialang.org/u/amellnik)\
**Replies:** 6\
**Last updated:** [February 3, 2018, 12:09am UTC](https://discourse.julialang.org/t/abstractvector-pair-and-abstractdict/8725 "2018-02-03T00:09:20Z")

</div>

This was discussed some on slack and I wanted to capture it in a more permanent place. HTTP is now using an Array{Pair{String,String},1} to store headers for performance reasons, but for many use cases (like Mux) people…

---

## [BinDeps2 (Bbuilder+Bprovider)](https://discourse.julialang.org/t/bindeps2-bbuilder-bprovider/8785)

<div class="topic-metadata">

**Author:** [@lobingera](https://discourse.julialang.org/u/lobingera)\
**Replies:** 8\
**Last updated:** [February 2, 2018, 11:21pm UTC](https://discourse.julialang.org/t/bindeps2-bbuilder-bprovider/8785 "2018-02-02T23:21:45Z")

</div>

after reading some discussion on slack about using BinDeps2 (in the sense of: someone should move packages X and Y to BinDeps2) i’m a little puzzled by the whole story. Is there anywhere a success story visible - as a l…

---

## [Type promotion: Why not use more unions?](https://discourse.julialang.org/t/type-promotion-why-not-use-more-unions/8748)

<div class="topic-metadata">

**Author:** [@foobar\_lv2](https://discourse.julialang.org/u/foobar_lv2)\
**Replies:** 7\
**Last updated:** [February 2, 2018, 1:22pm UTC](https://discourse.julialang.org/t/type-promotion-why-not-use-more-unions/8748 "2018-02-02T13:22:42Z")

</div>

I wanted to ask why type promotion/widening doesn’t use more unions. For example (on 0.62): x=Any\[Int32(0), 0\]; typeof(collect(i for i in x)) Array{Signed,1} More specifically: Widening takes the most specific abstract…

---

## [Countlines() bug?](https://discourse.julialang.org/t/countlines-bug/8740)

<div class="topic-metadata">

**Author:** [@RandomString123](https://discourse.julialang.org/u/RandomString123)\
**Replies:** 8\
**Last updated:** [February 2, 2018, 1:17pm UTC](https://discourse.julialang.org/t/countlines-bug/8740 "2018-02-02T13:17:02Z")

</div>

I am trying to figure out if this is a bug or by design. There is a weirdness in how countlines() reports the number of lines in a file. It seems to under report the lines by 1 whenever the file does not end with a new…

---

## [Master branch fails to build, who to report?](https://discourse.julialang.org/t/master-branch-fails-to-build-who-to-report/8751)

<div class="topic-metadata">

**Author:** [@Qiyamah](https://discourse.julialang.org/u/Qiyamah)\
**Replies:** 5\
**Last updated:** [February 1, 2018, 7:03pm UTC](https://discourse.julialang.org/t/master-branch-fails-to-build-who-to-report/8751 "2018-02-01T19:03:48Z")

</div>

ERROR: LoadError: makedocs encountered an error. Terminating build Stacktrace: \[1\] error at ./error.jl:33 \[inlined\] \[2\] runner(::Type{Documenter.Builder.RenderDocument}, ::Documenter.Documents.Document) at /home/rra/P…

---

## [Option to precompile all reachable](https://discourse.julialang.org/t/option-to-precompile-all-reachable/8747)

<div class="topic-metadata">

**Author:** [@Christian\_Rorvik](https://discourse.julialang.org/u/Christian_Rorvik)\
**Replies:** 7\
**Last updated:** [February 1, 2018, 6:21pm UTC](https://discourse.julialang.org/t/option-to-precompile-all-reachable/8747 "2018-02-01T18:21:56Z")

</div>

I have a use case for precompile(), which I believe deviates a bit from the original intent and implementation of the function (caching of compiled code in the precompile phase for packages, as I understand it). I’m bui…

---

## [function FormatMessage](https://discourse.julialang.org/t/function-formatmessage/8593)

<div class="topic-metadata">

**Author:** [@Yaroslav\_Kavenchuk](https://discourse.julialang.org/u/Yaroslav_Kavenchuk)\
**Replies:** 3\
**Last updated:** [January 31, 2018, 5:38pm UTC](https://discourse.julialang.org/t/function-formatmessage/8593 "2018-01-31T17:38:50Z")

</div>

lpMsgBuf = Ref{Ptr{UInt16}}() lpMsgBuf\[\] = 0 len = ccall(:FormatMessageW, stdcall, UInt32, (Cint, Ptr{Cvoid}, Cint, Cint, Ptr{Ptr{UInt16}}, Cint, Ptr{Cvoid}), FORMAT\_MESSAGE\_AL…

---

## [Suggestion for more general/performant sentinel for find\* functions](https://discourse.julialang.org/t/suggestion-for-more-general-performant-sentinel-for-find-functions/8657)

<div class="topic-metadata">

**Author:** [@ScottPJones](https://discourse.julialang.org/u/ScottPJones)\
**Replies:** 17\
**Last updated:** [January 29, 2018, 6:00pm UTC](https://discourse.julialang.org/t/suggestion-for-more-general-performant-sentinel-for-find-functions/8657 "2018-01-29T18:00:06Z")

</div>

I’m concerned about the loss of type-stability in the find\* etc. functions, changing everything to return nothing for the not found case. While that is important for abstract arrays and associative structures, for strin…

---

## [Proposal to make functions in \`julia-config.jl\` and \`build\_sysimg.jl\` reusable](https://discourse.julialang.org/t/proposal-to-make-functions-in-julia-config-jl-and-build-sysimg-jl-reusable/8578)

<div class="topic-metadata">

**Author:** [@lucatrv](https://discourse.julialang.org/u/lucatrv)\
**Replies:** 0\
**Last updated:** [January 24, 2018, 10:51pm UTC](https://discourse.julialang.org/t/proposal-to-make-functions-in-julia-config-jl-and-build-sysimg-jl-reusable/8578 "2018-01-24T22:51:39Z")

</div>

It would be useful to make some of the functions in julia-config.jl and build\_sysimg.jl accessible and reusable by other scripts. Some functions are for instance currently used by juliac.jl (see static-julia, which I am…

---

## [A Plea For Compat(ability)](https://discourse.julialang.org/t/a-plea-for-compat-ability/8635)

<div class="topic-metadata">

**Author:** [@ScottPJones](https://discourse.julialang.org/u/ScottPJones)\
**Replies:** 2\
**Last updated:** [January 28, 2018, 10:22am UTC](https://discourse.julialang.org/t/a-plea-for-compat-ability/8635 "2018-01-28T10:22:18Z")

</div>

There are many breaking changes going into master on a daily (almost hourly) basis (I’m not against that at all, I actually hope some more time is spent to make these breaking changes before it is considered really to la…

---

## [Julia - is a fractal of good design?](https://discourse.julialang.org/t/julia-is-a-fractal-of-good-design/8640)

<div class="topic-metadata">

**Author:** [@EldarAgalarov](https://discourse.julialang.org/u/EldarAgalarov)\
**Replies:** 7\
**Last updated:** [January 28, 2018, 10:08am UTC](https://discourse.julialang.org/t/julia-is-a-fractal-of-good-design/8640 "2018-01-28T10:08:44Z")

</div>

Hello, dear developers of the Julia language! I came across one very popular article about the PHP language, namely its bad design. PHP: a fractal of bad design It is clear that Julia has nothing to do with PHP, but I…

---

## [BigFloat, 1.5x..2x faster](https://discourse.julialang.org/t/bigfloat-1-5x-2x-faster/8619)

<div class="topic-metadata">

**Author:** [@JeffreySarnoff](https://discourse.julialang.org/u/JeffreySarnoff)\
**Replies:** 3\
**Last updated:** [January 27, 2018, 3:38am UTC](https://discourse.julialang.org/t/bigfloat-1-5x-2x-faster/8619 "2018-01-27T03:38:16Z")

</div>

Use MPFR version 4: Lefèvre and Zimmermann

---

## [LazyCall, again, sorry](https://discourse.julialang.org/t/lazycall-again-sorry/8629)

<div class="topic-metadata">

**Author:** [@bramtayl](https://discourse.julialang.org/u/bramtayl)\
**Replies:** 5\
**Last updated:** [January 26, 2018, 11:26pm UTC](https://discourse.julialang.org/t/lazycall-again-sorry/8629 "2018-01-26T23:26:06Z")

</div>

It seems like the only way out of this pickle is to either mark containers you want to iterate (or scalars you don’t want to iterate). Anyways, here’s a proposal: A lazy call object contains both a function and its argu…

---

## [Timeline for Julia 1.0](https://discourse.julialang.org/t/timeline-for-julia-1-0/8610)

<div class="topic-metadata">

**Author:** [@Petre\_C](https://discourse.julialang.org/u/Petre_C)\
**Replies:** 1\
**Last updated:** [January 26, 2018, 3:43pm UTC](https://discourse.julialang.org/t/timeline-for-julia-1-0/8610 "2018-01-26T15:43:49Z")

</div>

I am following closely the development of 1.0. Any news on when it will be finally launched? I need to know this for a project I am working on. Thanks!

---

## [Possible bug: anyone know what "WARNING: Caught an exception in the keymap:" means?](https://discourse.julialang.org/t/possible-bug-anyone-know-what-warning-caught-an-exception-in-the-keymap-means/8609)

<div class="topic-metadata">

**Author:** [@Palli](https://discourse.julialang.org/u/Palli)\
**Replies:** 3\
**Last updated:** [January 26, 2018, 1:20pm UTC](https://discourse.julialang.org/t/possible-bug-anyone-know-what-warning-caught-an-exception-in-the-keymap-means/8609 "2018-01-26T13:20:19Z")

</div>

julia\> "Páll" == String(b"P\\e1ll") false julia\> String(b"P\\e1ll")\[1\] 'P' julia\> String(b"P\\e1ll")\[2\] '\\e' julia\> String(b"P\\xe1ll")\[2\] # This one is also strange to me... should be "á"? '૬' shell\> julia -e 'String(b"…

---

## [METADATA.jl](https://discourse.julialang.org/t/metadata-jl/8581)

<div class="topic-metadata">

**Author:** [@vvjn](https://discourse.julialang.org/u/vvjn)\
**Replies:** 2\
**Last updated:** [January 25, 2018, 2:25am UTC](https://discourse.julialang.org/t/metadata-jl/8581 "2018-01-25T02:25:14Z")

</div>

Hi all, I tried to register a package via attobot around four days ago but it is still not merged unto Metadata. I was wondering how long it usually takes before someone merges my pull request via attobot into Metadata.…

---

## [Moving BigFloat to stdlib?](https://discourse.julialang.org/t/moving-bigfloat-to-stdlib/8545)

<div class="topic-metadata">

**Author:** [@ScottPJones](https://discourse.julialang.org/u/ScottPJones)\
**Replies:** 7\
**Last updated:** [January 24, 2018, 12:06am UTC](https://discourse.julialang.org/t/moving-bigfloat-to-stdlib/8545 "2018-01-24T00:06:07Z")

</div>

With all the other things moving out of Base, there are not really many places where BigFloat is used anymore: In int.jl, there is a parsing routine that would simply move to stdlib/BigFloat.jl mpfr.jl would move to st…

---

## [Julia's UTF-8 handling \[vs. new Python's 3.7 UTF-8 PEP 540\]](https://discourse.julialang.org/t/julias-utf-8-handling-vs-new-pythons-3-7-utf-8-pep-540/8495)

<div class="topic-metadata">

**Author:** [@Palli](https://discourse.julialang.org/u/Palli)\
**Replies:** 29\
**Last updated:** [January 24, 2018, 5:46pm UTC](https://discourse.julialang.org/t/julias-utf-8-handling-vs-new-pythons-3-7-utf-8-pep-540/8495 "2018-01-24T17:46:04Z")

</div>

TL;DR We’re on the right track, maybe no changes needed except drop for byte indexing into strings (i.e. make it not exported; it’s not needed/wanted? and (kind of) redundant with SubString). (I’ve changed my mind regar…

---

## [LoadError instead of thrown exception in macro execution on master](https://discourse.julialang.org/t/loaderror-instead-of-thrown-exception-in-macro-execution-on-master/8546)

<div class="topic-metadata">

**Author:** [@ScottPJones](https://discourse.julialang.org/u/ScottPJones)\
**Replies:** 1\
**Last updated:** [January 23, 2018, 5:30pm UTC](https://discourse.julialang.org/t/loaderror-instead-of-thrown-exception-in-macro-execution-on-master/8546 "2018-01-23T17:30:43Z")

</div>

I’ve run into something that’s breaking a lot of my tests on master. Previously, if an exception was thrown during macro execution, you got that error (in this case, ArgumentError), but now, you get a LoadError that hol…

---

## [Proposal of Numpy-like "endpoint" option for linspace](https://discourse.julialang.org/t/proposal-of-numpy-like-endpoint-option-for-linspace/6916)

<div class="topic-metadata">

**Author:** [@favba](https://discourse.julialang.org/u/favba)\
**Replies:** 13\
**Last updated:** [January 22, 2018, 3:58pm UTC](https://discourse.julialang.org/t/proposal-of-numpy-like-endpoint-option-for-linspace/6916 "2018-01-22T15:58:18Z")

</div>

Numpy has an endpoint::Bool for the inclusion or not of the last point on their implementation of linspace. In my use case (where I use lots of fft’s) that is very handy. I think that would be a useful feature for Julia…

---

## [Ccall TypeError](https://discourse.julialang.org/t/ccall-typeerror/8518)

<div class="topic-metadata">

**Author:** [@jheinen](https://discourse.julialang.org/u/jheinen)\
**Replies:** 0\
**Last updated:** [January 22, 2018, 10:30am UTC](https://discourse.julialang.org/t/ccall-typeerror/8518 "2018-01-22T10:30:11Z")

</div>

The following function gives an error in 0.7.0-DEV.3507 when declared in a module: function version() info = ccall( (:gr\_version, "/usr/local/gr/lib/libGR.so"), Cstring, (), …

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

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