TuringLang / DynamicPPL.jl

Implementation of domain-specific language (DSL) for dynamic probabilistic programming
https://turinglang.org/DynamicPPL.jl/
MIT License
157 stars 26 forks source link

Add AbstractRNG types to fix method ambiguities in Turing #636

Closed penelopeysm closed 1 month ago

penelopeysm commented 1 month ago

Related to https://github.com/TuringLang/Turing.jl/pull/2290

This PR fixes 4 of the following method ambiguities (which arise when testing Turing, but are probably better resolved here):

Ambiguity #1
dot_tilde_assume(rng, context::AbstractPPL.AbstractContext, args...) @ DynamicPPL ~/ppl/dppl/src/context_implementations.jl:294
dot_tilde_assume(context::Turing.Experimental.GibbsContext, right, left, vns, vi) @ Turing.Experimental ~/ppl/lib/src/experimental/gibbs.jl:77

Possible fix, define
  dot_tilde_assume(::Turing.Experimental.GibbsContext, ::AbstractPPL.AbstractContext, ::Any, ::Any, ::Any)

Ambiguity #2
dot_tilde_assume(rng, context::AbstractPPL.AbstractContext, args...) @ DynamicPPL ~/ppl/dppl/src/context_implementations.jl:294
dot_tilde_assume(ctx::Turing.Optimisation.OptimizationContext, right, left, vns, vi) @ Turing.Optimisation ~/ppl/lib/src/optimisation/Optimisation.jl:85

Possible fix, define
  dot_tilde_assume(::Turing.Optimisation.OptimizationContext, ::AbstractPPL.AbstractContext, ::Any, ::Any, ::Any)

Ambiguity #3
tilde_assume(rng, context::AbstractPPL.AbstractContext, args...) @ DynamicPPL ~/ppl/dppl/src/context_implementations.jl:66
tilde_assume(context::Turing.Experimental.GibbsContext, right, vn, vi) @ Turing.Experimental ~/ppl/lib/src/experimental/gibbs.jl:36

Possible fix, define
  tilde_assume(::Turing.Experimental.GibbsContext, ::AbstractPPL.AbstractContext, ::Any, ::Any)

Ambiguity #4
tilde_assume(rng, context::AbstractPPL.AbstractContext, args...) @ DynamicPPL ~/ppl/dppl/src/context_implementations.jl:66
tilde_assume(ctx::Turing.Optimisation.OptimizationContext, dist, vn, vi) @ Turing.Optimisation ~/ppl/lib/src/optimisation/Optimisation.jl:67

Possible fix, define
  tilde_assume(::Turing.Optimisation.OptimizationContext, ::AbstractPPL.AbstractContext, ::Any, ::Any)
coveralls commented 1 month ago

Pull Request Test Coverage Report for Build 10265975510

Details


Files with Coverage Reduction New Missed Lines %
src/selector.jl 1 85.71%
<!-- Total: 1 -->
Totals Coverage Status
Change from base Build 10061220559: -0.03%
Covered Lines: 2811
Relevant Lines: 3455

💛 - Coveralls
yebai commented 1 month ago

@penelopeysm, feel free to modify the version and make a new release so https://github.com/TuringLang/Turing.jl/pull/2290 can use the new version.

sunxd3 commented 1 month ago

For ref: https://github.com/JuliaRegistries/Registrator.jl

penelopeysm commented 1 month ago

Will do now, thanks for the pointers! 🙂