GCPに環境を作っていて気づいたのだが、Distibution.jlのv0.17.0と関数が干渉していて using Mamba すると下のようなワーニングが出て、

WARNING: Method definition (::Type{Distributions.DiscreteNonParametric{Int64, P, Base.OneTo{Int64}, Ps} where Ps where P})(AbstractArray{T<:Real, 1}) where {T<:Real} in module Distributions at /Users/apple/.julia/packages/Distributions/fMt8c/src/univariate/discrete/categorical.jl:40 overwritten in module Mamba at /Users/apple/.julia/packages/Mamba/qNBKz/src/distributions/constructors.jl:7.
WARNING: Method definition (::Type{Distributions.MvNormal{T, Cov, Mean} where Mean<:(AbstractArray{T, 1} where T) where Cov<:(PDMats.AbstractPDMat{T} where T<:Real) where T<:Real})(AbstractArray{T<:Real, 1}, Real) where {T<:Real} in module Distributions at /Users/apple/.julia/packages/Distributions/fMt8c/src/multivariate/mvnormal.jl:200 overwritten in module Mamba at /Users/apple/.julia/packages/Mamba/qNBKz/src/distributions/constructors.jl:35.
WARNING: Method definition (::Type{Distributions.MvNormalCanon{T, P, V} where V<:(AbstractArray{T, 1} where T) where P<:(PDMats.AbstractPDMat{T} where T<:Real) where T<:Real})(AbstractArray{T<:Real, 1}, U<:Real) where {T<:Real, U<:Real} in module Distributions at /Users/apple/.julia/packages/Distributions/fMt8c/src/multivariate/mvnormalcanon.jl:116 overwritten in module Mamba at /Users/apple/.julia/packages/Mamba/qNBKz/src/distributions/constructors.jl:53.

以前動いていた次のようなコードが動かない。

MvNormal(zeros(3), 4)
StackOverflowError:

Stacktrace:
 [1] MvNormal(::Array{Float64,1}, ::Float64) at /Users/apple/.julia/packages/Mamba/qNBKz/src/distributions/constructors.jl:35 (repeats 80000 times)

masterブランチでは修正されているみたいなので、次のリリースでは治るはず…。

Remove unneeded MvNormal constructor · brian-j-smith/Mamba.jl@dcaf1cc
https://github.com/brian-j-smith/Mamba.jl/commit/dcaf1ccac1c468d20d49a21acbaeb0cb6adcb4cf

応急処置として代わりに

MvNormal(zeros(3), fill(4.0, 3))

にしておけば動くのでこっちを使っておくか。

追記:

平均が0だったら

MvNormal(3, 4.0)

これで良さそう。

追記:

Mamba 0.12.1で直っていた!