# Internals & Design

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

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

**Page:** 58

---

## [Pkg3 project workflow questions](https://discourse.julialang.org/t/pkg3-project-workflow-questions/12490)

<div class="topic-metadata">

**Author:** [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Replies:** 4\
**Last updated:** [July 19, 2018, 5:24pm UTC](https://discourse.julialang.org/t/pkg3-project-workflow-questions/12490 "2018-07-19T17:24:11Z")

</div>

I am using the new Pkg setup for projects, ie bundles of code which are not necessarily packaged, but serve the a specific purpose (eg accompany a paper). I have some clarifying questions about the workflow. I set up th…

---

## [Why is Greek ano teleia a valid identifier character?](https://discourse.julialang.org/t/why-is-greek-ano-teleia-a-valid-identifier-character/12442)

<div class="topic-metadata">

**Author:** [@mlhetland](https://discourse.julialang.org/u/mlhetland)\
**Replies:** 8\
**Last updated:** [July 18, 2018, 4:10pm UTC](https://discourse.julialang.org/t/why-is-greek-ano-teleia-a-valid-identifier-character/12442 "2018-07-18T16:10:41Z")

</div>

It seems Greek ano teleia (U+0387) is one of the “Punctuation, other” characters (along with primes) permitted as part of identifiers. What is the rationale, here? Semantically, it doesn’t seem to make sense, and it look…

---

## [String from iterator (HasEltype(), which is UInt8, HasLength())](https://discourse.julialang.org/t/string-from-iterator-haseltype-which-is-uint8-haslength/12430)

<div class="topic-metadata">

**Author:** [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Replies:** 2\
**Last updated:** [July 17, 2018, 7:33pm UTC](https://discourse.julialang.org/t/string-from-iterator-haseltype-which-is-uint8-haslength/12430 "2018-07-17T19:33:46Z")

</div>

This question refers to v0.7. I have an ex ante known number n of integers 0 \\le \\ldots \\le 127, which are computed from something (I can make an iterator). They represent a string (of ASCII characters). The number of …

---

## [Guide the user through ?-REPL (Help mode)](https://discourse.julialang.org/t/guide-the-user-through-repl-help-mode/8775)

<div class="topic-metadata">

**Author:** [@Iagoba\_Apellaniz](https://discourse.julialang.org/u/Iagoba_Apellaniz)\
**Replies:** 14\
**Last updated:** [July 15, 2018, 1:40am UTC](https://discourse.julialang.org/t/guide-the-user-through-repl-help-mode/8775 "2018-07-15T01:40:12Z")

</div>

I think it would be interesting to guide the user on its first steps, to engage him/her, using the Help-Mode interface of the REPL. I did a first searching whether this is posted somewhere but with no success. I try to …

---

## [Default value of wrong type in function definition](https://discourse.julialang.org/t/default-value-of-wrong-type-in-function-definition/12352)

<div class="topic-metadata">

**Author:** [@JonasIsensee](https://discourse.julialang.org/u/JonasIsensee)\
**Replies:** 2\
**Last updated:** [July 13, 2018, 1:00pm UTC](https://discourse.julialang.org/t/default-value-of-wrong-type-in-function-definition/12352 "2018-07-13T13:00:10Z")

</div>

Hey there, We encountered odd behaviour while experimenting. (julia v0.7-beta ) Of course the type annotation itself wouldn’t be necessary here, but still… julia\> f(x::Float64=1) = 10 f (generic function with 2 method…

---

## [Push! is very slow on Vector{Union{...}}](https://discourse.julialang.org/t/push-is-very-slow-on-vector-union/12329)

<div class="topic-metadata">

**Author:** [@jamii](https://discourse.julialang.org/u/jamii)\
**Replies:** 2\
**Last updated:** [July 12, 2018, 12:30pm UTC](https://discourse.julialang.org/t/push-is-very-slow-on-vector-union/12329 "2018-07-12T12:30:59Z")

</div>

I’ve only found the one mention of this below and I couldn’t find any followup. So here is an independent repro: julia\> versioninfo() Julia Version 0.7.0-beta.0 Commit f41b1ecaec (2018-06-24 01:32 UTC) Platform Info: …

---

## [Name for last version that supports v0.6](https://discourse.julialang.org/t/name-for-last-version-that-supports-v0-6/12327)

<div class="topic-metadata">

**Author:** [@yakir12](https://discourse.julialang.org/u/yakir12)\
**Replies:** 5\
**Last updated:** [July 12, 2018, 11:47am UTC](https://discourse.julialang.org/t/name-for-last-version-that-supports-v0-6/12327 "2018-07-12T11:47:23Z")

</div>

The last version of Unitful.jl (0.9.0) doesn’t work for Julia 0.6, which is great and awesome because it does work for v0.7 (I think). Moving forward! But, is there some agreed upon standard way to pin all the packages …

---

## [Extending AbstractArray while wrapping any AbstractArray](https://discourse.julialang.org/t/extending-abstractarray-while-wrapping-any-abstractarray/12310)

<div class="topic-metadata">

**Author:** [@Raf](https://discourse.julialang.org/u/Raf)\
**Replies:** 7\
**Last updated:** [July 12, 2018, 11:27am UTC](https://discourse.julialang.org/t/extending-abstractarray-while-wrapping-any-abstractarray/12310 "2018-07-12T11:27:32Z")

</div>

This must be fairly simple but I couldn’t find an example. I’m wondering about the standard way to extend AbstractArray while wrapping any other AbstractArray. Say I want to extend AbstractMatrix: abstract type Abstract…

---

## [Many or few constructor signatures?](https://discourse.julialang.org/t/many-or-few-constructor-signatures/12301)

<div class="topic-metadata">

**Author:** [@JeffreySarnoff](https://discourse.julialang.org/u/JeffreySarnoff)\
**Replies:** 3\
**Last updated:** [July 11, 2018, 7:38am UTC](https://discourse.julialang.org/t/many-or-few-constructor-signatures/12301 "2018-07-11T07:38:25Z")

</div>

Is there a best practice with respect to construction, now that construction is separate from conversion and seems to be more taxonomically essential? Some have recommended that a family of constructors for a user-define…

---

## [Pkg add 'at' or 'trackto' / @ or #](https://discourse.julialang.org/t/pkg-add-at-or-trackto-or/12270)

<div class="topic-metadata">

**Author:** [@Iagoba\_Apellaniz](https://discourse.julialang.org/u/Iagoba_Apellaniz)\
**Replies:** 6\
**Last updated:** [July 10, 2018, 1:10pm UTC](https://discourse.julialang.org/t/pkg-add-at-or-trackto-or/12270 "2018-07-10T13:10:56Z")

</div>

I don’t want to disturb too much for the development of Pkg3. I know you are quite busy. Nevertheless, I find a bit misleading that @ is used to pin a tagged commit of the package but a SHA hash cannot be used instead o…

---

## [New Release Tag mechanism](https://discourse.julialang.org/t/new-release-tag-mechanism/12291)

<div class="topic-metadata">

**Author:** [@lwabeke](https://discourse.julialang.org/u/lwabeke)\
**Replies:** 1\
**Last updated:** [July 10, 2018, 12:35pm UTC](https://discourse.julialang.org/t/new-release-tag-mechanism/12291 "2018-07-10T12:35:50Z")

</div>

By following the instructions in the \[ANN\] Introducing Upgradathon Fridays and updated my package Unmarshal, however now I’m not sure how to tag a new v0.7 release. I used to just use PkgDev.tag. Is that option still av…

---

## [Pkg environment is sticky (Julia v0.7-beta)](https://discourse.julialang.org/t/pkg-environment-is-sticky-julia-v0-7-beta/11925)

<div class="topic-metadata">

**Author:** [@Iagoba\_Apellaniz](https://discourse.julialang.org/u/Iagoba_Apellaniz)\
**Replies:** 11\
**Last updated:** [July 10, 2018, 8:00am UTC](https://discourse.julialang.org/t/pkg-environment-is-sticky-julia-v0-7-beta/11925 "2018-07-10T08:00:19Z")

</div>

I find this a bit annoying shell\> mkdir Test & cd Test (v0.7) pkg\> init # or generate Initialized project at /home/.../Test/Project.toml (Test) pkg\> Now if I move on the directory tree, the environment for Pkg is sti…

---

## [Log (eg depwarn) message source full path](https://discourse.julialang.org/t/log-eg-depwarn-message-source-full-path/12207)

<div class="topic-metadata">

**Author:** [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Replies:** 4\
**Last updated:** [July 6, 2018, 11:02am UTC](https://discourse.julialang.org/t/log-eg-depwarn-message-source-full-path/12207 "2018-07-06T11:02:33Z")

</div>

I am in the process of updating julia-repl.el, the Emacs mode for interacting with the Julia REPL, to work with v0.7. A particular feature is to make source locations “clickable”, this works by recognizing regexps like a…

---

## [New behavior of open(command)](https://discourse.julialang.org/t/new-behavior-of-open-command/12191)

<div class="topic-metadata">

**Author:** [@Sean\_McBane](https://discourse.julialang.org/u/Sean_McBane)\
**Replies:** 0\
**Last updated:** [July 5, 2018, 5:56pm UTC](https://discourse.julialang.org/t/new-behavior-of-open-command/12191 "2018-07-05T17:56:56Z")

</div>

Hi all, I’m upgrading ClusterManagers.jl to be 0.7-ready, and the last deprecation warning I’m finding is in the launch method for a LocalAffinityManager. Line 37 in affinity.jl has io, pobj = open(detach(...), "r"). Thi…

---

## [How to generate a new package/module for v0.7-beta only](https://discourse.julialang.org/t/how-to-generate-a-new-package-module-for-v0-7-beta-only/12189)

<div class="topic-metadata">

**Author:** [@jlapeyre](https://discourse.julialang.org/u/jlapeyre)\
**Replies:** 0\
**Last updated:** [July 5, 2018, 5:44pm UTC](https://discourse.julialang.org/t/how-to-generate-a-new-package-module-for-v0-7-beta-only/12189 "2018-07-05T17:44:02Z")

</div>

What’s the best way to do the following: Generate a new package to be used as a module by the end user or other packages, in some public registry. I don’t need v0.6 compatibility. It probably won’t be made public for se…

---

## [\<: union shorthand in NamedTuple type](https://discourse.julialang.org/t/union-shorthand-in-namedtuple-type/12178)

<div class="topic-metadata">

**Author:** [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Replies:** 2\
**Last updated:** [July 5, 2018, 1:18pm UTC](https://discourse.julialang.org/t/union-shorthand-in-namedtuple-type/12178 "2018-07-05T13:18:26Z")

</div>

(asking before opening an issue) f(::NamedTuple{(:a,:b), Tuple{\<:AbstractFloat,\<:AbstractArray}}) = :notok f(::NamedTuple{(:a,:b), Tuple{T,S}}) where {T\<:AbstractFloat,S\<:AbstractArray} = :ok The first one fails with …

---

## [Why doesn't \`mul!\` have a GEMV style interface?](https://discourse.julialang.org/t/why-doesnt-mul-have-a-gemv-style-interface/12136)

<div class="topic-metadata">

**Author:** [@Sean\_McBane](https://discourse.julialang.org/u/Sean_McBane)\
**Replies:** 1\
**Last updated:** [July 3, 2018, 7:17pm UTC](https://discourse.julialang.org/t/why-doesnt-mul-have-a-gemv-style-interface/12136 "2018-07-03T19:17:25Z")

</div>

For A::SparseMatrixCSC, there is a GEMV style interface A\_mul\_B!(α, A, x, β, y) (in 0.6) or mul!(C, A, B, α, β) (in 0.7 and beyond). These interfaces do not exist for other matrix types, and it seems like they should; if…

---

## [Why \`get(d, k, default)\` allows \`default\` of a type different than \`valtype(d)\`?](https://discourse.julialang.org/t/why-get-d-k-default-allows-default-of-a-type-different-than-valtype-d/12139)

<div class="topic-metadata">

**Author:** [@e3c6](https://discourse.julialang.org/u/e3c6)\
**Replies:** 1\
**Last updated:** [July 3, 2018, 5:28pm UTC](https://discourse.julialang.org/t/why-get-d-k-default-allows-default-of-a-type-different-than-valtype-d/12139 "2018-07-03T17:28:02Z")

</div>

I don’t understand why get(d, k, default) allows default to be of a type different than valtype(d). This violates type-stability, and it has been a source of may bugs for me. I have heard an argument that sometimes peopl…

---

## [Pkg3 confusion](https://discourse.julialang.org/t/pkg3-confusion/12128)

<div class="topic-metadata">

**Author:** [@Sean\_McBane](https://discourse.julialang.org/u/Sean_McBane)\
**Replies:** 5\
**Last updated:** [July 3, 2018, 4:08pm UTC](https://discourse.julialang.org/t/pkg3-confusion/12128 "2018-07-03T16:08:37Z")

</div>

I’ve found the following behavior that seems to me to be a bug; from a fresh build of master with nothing installed, I install ForwardDiff: (v0.7) pkg\> add ForwardDiff Cloning default registries into /home/sean/.juli…

---

## [Switching between compiled master + branches](https://discourse.julialang.org/t/switching-between-compiled-master-branches/12025)

<div class="topic-metadata">

**Author:** [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Replies:** 2\
**Last updated:** [July 3, 2018, 12:10pm UTC](https://discourse.julialang.org/t/switching-between-compiled-master-branches/12025 "2018-07-03T12:10:48Z")

</div>

If I modify the code in the Julia repo and make the binary, the Julia processes using it currently stop working until it is finished, and I can’t start new ones. This is a minor interruption to my workflow since (increme…

---

## [Read-only memory-mapped files](https://discourse.julialang.org/t/read-only-memory-mapped-files/12098)

<div class="topic-metadata">

**Author:** [@dmbates](https://discourse.julialang.org/u/dmbates)\
**Replies:** 2\
**Last updated:** [July 3, 2018, 7:08am UTC](https://discourse.julialang.org/t/read-only-memory-mapped-files/12098 "2018-07-03T07:08:36Z")

</div>

I am developing some code in BEDFIles.jl that may be used with very large binary data files. The data are accessed as a read-only memory-mapped Matrix{UInt8} using column-oriented algorithms whenever possible. As I und…

---

## [Proposal to make functions first class citizens in context of multiple dispatch](https://discourse.julialang.org/t/proposal-to-make-functions-first-class-citizens-in-context-of-multiple-dispatch/12080)

<div class="topic-metadata">

**Author:** [@jandehaan](https://discourse.julialang.org/u/jandehaan)\
**Replies:** 6\
**Last updated:** [June 30, 2018, 5:19pm UTC](https://discourse.julialang.org/t/proposal-to-make-functions-first-class-citizens-in-context-of-multiple-dispatch/12080 "2018-06-30T17:19:13Z")

</div>

When calling a function, the function itself is treated like a 2nd class citizen. That is, the function is fixed and the dispatch system only considers the other arguments. However, when broadcasting the function is tr…

---

## [Map as a partial function](https://discourse.julialang.org/t/map-as-a-partial-function/12022)

<div class="topic-metadata">

**Author:** [@jandehaan](https://discourse.julialang.org/u/jandehaan)\
**Replies:** 4\
**Last updated:** [June 29, 2018, 10:04pm UTC](https://discourse.julialang.org/t/map-as-a-partial-function/12022 "2018-06-29T22:04:01Z")

</div>

Currently in Julia v0.7.0 we have julia\> \[1,2,3\] |\> map(x-\>x\*x) ERROR: MethodError: no method matching (::getfield(Main, Symbol("##3#4")))() Closest candidates are: #3(::Any) at REPL\[0\]:1 Stacktrace: \[1\] map(::getfie…

---

## [Parallel sparse matrix vector product](https://discourse.julialang.org/t/parallel-sparse-matrix-vector-product/12064)

<div class="topic-metadata">

**Author:** [@Gregstrq](https://discourse.julialang.org/u/Gregstrq)\
**Replies:** 4\
**Last updated:** [June 29, 2018, 3:33pm UTC](https://discourse.julialang.org/t/parallel-sparse-matrix-vector-product/12064 "2018-06-29T15:33:34Z")

</div>

Hello, guys! Matrix-matrix and matrix-vector product operations are the core of linear algebra. For dense matrices, the underlying implementation uses OpenBLAS and it hugely benefits from using multithreading. For spa…

---

## [Bug in julia 0.7](https://discourse.julialang.org/t/bug-in-julia-0-7/12014)

<div class="topic-metadata">

**Author:** [@Jean\_Michel](https://discourse.julialang.org/u/Jean_Michel)\
**Replies:** 3\
**Last updated:** [June 28, 2018, 10:44am UTC](https://discourse.julialang.org/t/bug-in-julia-0-7/12014 "2018-06-28T10:44:54Z")

</div>

| | |\_| | | | (\_| | | Version 0.7.0-beta.0 (2018-06-24 01:32 UTC) \_/ |\\\_\_'\_|\_|\_|\\\_\_'\_| | Official http://julialang.org/ release |\_\_/ | x86\_64-pc-linux-gnu julia\> map(values,\[Dict(:a=\>1),Dict(:b…

---

## [Advice on creating packages in v0.7](https://discourse.julialang.org/t/advice-on-creating-packages-in-v0-7/12010)

<div class="topic-metadata">

**Author:** [@dmbates](https://discourse.julialang.org/u/dmbates)\
**Replies:** 2\
**Last updated:** [June 28, 2018, 5:45am UTC](https://discourse.julialang.org/t/advice-on-creating-packages-in-v0-7/12010 "2018-06-28T05:45:12Z")

</div>

Earlier in the day I was close to wingeing about how I couldn’t understand from the documentation how one was supposed to create a package for v0.7 with the new package manager. I think I have figured it out and I am ve…

---

## [Using SomePackage: symbol doesn't import SomePackage in v0.7?](https://discourse.julialang.org/t/using-somepackage-symbol-doesnt-import-somepackage-in-v0-7/12002)

<div class="topic-metadata">

**Author:** [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Replies:** 6\
**Last updated:** [June 27, 2018, 6:40pm UTC](https://discourse.julialang.org/t/using-somepackage-symbol-doesnt-import-somepackage-in-v0-7/12002 "2018-06-27T18:40:20Z")

</div>

I am just asking to clarify if this is intentional or a bug: julia\> VERSION v"0.7.0-beta.44" julia\> using StatsBase: cov julia\> struct Foo end julia\> StatsBase.var(::Foo) = 42 ERROR: UndefVarError: StatsBase not defi…

---

## [Optimization Based on Intel MKL Matrix Multiplication Batch Mode](https://discourse.julialang.org/t/optimization-based-on-intel-mkl-matrix-multiplication-batch-mode/11989)

<div class="topic-metadata">

**Author:** [@RoyiAvital](https://discourse.julialang.org/u/RoyiAvital)\
**Replies:** 4\
**Last updated:** [June 27, 2018, 7:59am UTC](https://discourse.julialang.org/t/optimization-based-on-intel-mkl-matrix-multiplication-batch-mode/11989 "2018-06-27T07:59:44Z")

</div>

Intel MKL has a batch mode for Matrix Multiplication (See Introducing Batch GEMM Operations). It seems it has great potential on speeding up small matrix multiplication operations in 2 ways (I can see, probably more): …

---

## [ARPACK (IterativeEigensolvers) removed from Julia](https://discourse.julialang.org/t/arpack-iterativeeigensolvers-removed-from-julia/11797)

<div class="topic-metadata">

**Author:** [@Mason](https://discourse.julialang.org/u/Mason)\
**Replies:** 17\
**Last updated:** [June 26, 2018, 7:52am UTC](https://discourse.julialang.org/t/arpack-iterativeeigensolvers-removed-from-julia/11797 "2018-06-26T07:52:28Z")

</div>

So it seems that ARPACK (briefly known as IterativeEigensolvers) has been removed from julia. I haven’t seen any discussion on this other than some comments on the slack so I thought I’d make a thread here. Personally, …

---

## [Future of sparse matrices in base / stdlib](https://discourse.julialang.org/t/future-of-sparse-matrices-in-base-stdlib/11914)

<div class="topic-metadata">

**Author:** [@anon94023334](https://discourse.julialang.org/u/anon94023334)\
**Replies:** 33\
**Last updated:** [June 25, 2018, 8:47pm UTC](https://discourse.julialang.org/t/future-of-sparse-matrices-in-base-stdlib/11914 "2018-06-25T20:47:20Z")

</div>

Having read through https://github.com/JuliaLang/julia/pull/27638, I am concerned that there is a push to move sparse matrices (SparseMatrixCSC) into a third-party library. Is this the plan?

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

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