Due to our featherweight tagging approach, I don't see a performance reason why we can't implement everything as a Gen probabilistic program, including our inference algorithms.
Figuring out the semantics of using tag on a call to generate! will be important pre-requisite for this.
A possible challenge with implementing inference algorithms as Gen probabilistic programs is that certain inference algorithms like SMC are often parallelized, and implementing parallelized probabilistic programs will require threadsafe traces, or equivalent.
Due to our featherweight tagging approach, I don't see a performance reason why we can't implement everything as a Gen probabilistic program, including our inference algorithms.
Figuring out the semantics of using
tag
on a call togenerate!
will be important pre-requisite for this.A possible challenge with implementing inference algorithms as Gen probabilistic programs is that certain inference algorithms like SMC are often parallelized, and implementing parallelized probabilistic programs will require threadsafe traces, or equivalent.