turion / dunai-bayes

BSD 3-Clause "New" or "Revised" License
3 stars 0 forks source link

Previous work #5

Open reubenharry opened 1 year ago

reubenharry commented 1 year ago

We should be aware of https://github.com/psg-mit/probzelus-haskell, from Ben Sherman who was on the Reactive Probabilistic Programming paper. It's a Haskell implementation of their system. Looks like it has solved a bunch of problems we haven't yet.

(I chatted to Ben, and he offered to help explain stuff in the repo if it's not clear)

turion commented 1 year ago

Oh wow, that looks exactly like what dunai-bayes is going for, except that it's not based on dunai. It's specific to Ben's own ZStreams, which are isomorphic to MSFs. @bmsherman, maybe it's possible to merge and deduplicate some things? I'd really like to reuse some of the code from probzelus, but rhine right now is based on dunai.

Else, it might be possible to abstract monadic stream functions into a type class such that MSF and ZStream are both instances of it, and then make most functions polymorphic. That would have the advantage that they could eventually be reused for https://github.com/turion/essence-of-live-coding as well. (I'm planning on basing rhine on that eventually.)