# Probabilistic programming with source transformations

**URL:** <https://discourse.julialang.org/t/probabilistic-programming-with-source-transformations/8047>\
**Category:** Statistics\
**Tags:** announcement\
**Created:** [December 28, 2017, 8:45pm UTC](https://discourse.julialang.org/t/probabilistic-programming-with-source-transformations/8047 "2017-12-28T20:45:54Z")\
**Posts on this page:** 1\
**Showing post:** 61

<div class="post-metadata">

**Author:** ![jrevels](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jrevels/32/10393_2.png) [@jrevels](https://discourse.julialang.org/u/jrevels)\
**Post date:** [January 9, 2018, 4:12am UTC](https://discourse.julialang.org/t/probabilistic-programming-with-source-transformations/8047/61 "2018-01-09T04:12:17Z")

</div>

> [@Tamas\_Papp](#):
>
> Ideally yes, but my impression is that ReverseDiff.jl is waiting for Cassette.jl

> [@dfdx](#):
>
> Note, that Cassete-based version of ReverseDiff moved to Capstan.jl.

To clarify: Capstan will provide both forward-mode and reverse-mode Cassette-based AD. The Cassette-based implementation is quite different from ReverseDiff/ForwardDiff, so I decided it would be appropriate to make a new package. ReverseDiff/ForwardDiff will probably still exist for a while after Capstan is released, but my hope/goal/belief is that Capstan will eventually render both of those packages obsolete. Should be interesting to see where Capstan falls in the “operator overloading vs. source transformation” space, since the Cassette-based approach really is a hybrid of both…

---

_[View the full topic](https://discourse.julialang.org/t/probabilistic-programming-with-source-transformations/8047)._
