Ooo, this is interesting! I played around with this a bit some time ago because I wanted a nice way to handle constraints and whatnot in Bijectors.jl, e.g. you specify domain and codomain and then we return the corresponding bijector. On my “wanted feature”-list indeed was compatibility with Manifolds.jl. I remember running into some issues that resulted in me just going “Ughh, another time maybe”; don’t recall what that was though.
DomainSets.jl looks pretty sick.
Is there actually any fundamental incompatibility between Manifolds.jl and Bijectors.jl? I haven’t looked too closely at the interface of Bijectors.jl but it looks like we could relatively easily make a bridge package between these two, so that distributions on manifolds and their transformations could be defined.
Regarding this in particular, I’d love to chat more:) I could also see a package which bridges the two, but if we could do it “properly” through MeasureTheory.jl, that would of course be preferable. I’ll have a look at it and maybe just make a separate issue for this on Bijectors.jl where we can chat about a “bridge package” while MeasureTheory.jl is still being hammered out.
EDIT: Regarding the last topic, I remember @setaxen had an issue in Bijectors.jl on certain distributions he thought could easily be implemented in Bijectors.jl if we dropped the requirement for bijectivity. At the time we weren’t entirely certain about the design, and so the issue just turned into a discussion about whether or not this was a good idea. I’d be more open to such now that Bijectors.jl is rather stable:)