Soss-compatibility with Jaynes
I've been experimenting with IR metaprogramming for constructing a dynamic tracer in Jaynes. This has provided a rather nice way to express "foreign model interfaces" - e.g. here.
The primary abstraction for any function call is a CallSite: https://github.com/femtomc/Jaynes.jl/blob/3642553fa628eda0d08e0ab1ad828856cb73bd41/src/trace.jl#L43-L47
I think I could rather easily extend the tracer to support a SossCallSite which wraps a Soss model and then express the correct semantics in the execution contexts of my system to do the right thing, depending on what the user is trying to do.
This issue does not require work on the side of the Soss team - instead it's just a reference issue as I experiment with making compatibility work between the three main PPLs (Gen, Soss, Turing) in this IR infrastructure.