
Hakaru – Probabilistic Programming - avindroth
https://hakaru-dev.github.io/
======
eggy
I was very interested to try it out, but it requires a licensed version of
Maple.

~~~
cf
It doesn't require a Maple license exactly. Maple is just needed to use the
simplifier. It is perfectly possible to write and run Hakaru programs without
having Maple installed.

~~~
eggy
Thanks for pointing that out. I'll try it.

I'll find out what "computer-algebra guided optimizations" are I'm sure ;)

------
wcbeard10
I occasionally use probabilistic programming systems, and find this project
fascinating, but I've been wondering for a while what the vision is.

Is it meant mainly as a research project/proof of concept (seems I've seen
elsewhere that it's funded by the DARPA PPAML project), or is it intended to
become a commonly used piece of software with a community like pymc3 and stan?

~~~
probinso
The PPAML project yielded a lot of cool work, I think that many people are
still figuring out the most impact use case. I believe that the most mature
new production language is Figaro, out of Charles River. They have some good
example projects and a introductory text for their language.

[https://www.cra.com/technical-expertise/probabilistic-
modeli...](https://www.cra.com/technical-expertise/probabilistic-
modelingprogramming)

[https://www.amazon.com/Practical-Probabilistic-
Programming-A...](https://www.amazon.com/Practical-Probabilistic-Programming-
Avi-
Pfeffer/dp/1617292338/ref=sr_1_1?ie=UTF8&qid=1473442874&sr=8-1&keywords=figaro+probabilistic+programming)

That being said, I'm very happy that Hakaru is getting attention.

------
calebm
How does it compare to PyMC?

~~~
cf
I think PyMC is a much more mature solution. Also while PyMC is much more
focused on sampling, Hakaru is more focused on Bayesian inference and trying
to represent stochastic models in a way such that any inference algorithm
could be applied to it.

~~~
eli_gottlieb
Why does it look like Python all of a sudden? What happened to embedding
probabilistic programming in Haskell?

~~~
cf
That's the concrete syntax for the language. It was chosen to be make the
language more familiar to people who do machine learning in Python. The
embedded design we had made it very challenging to develop new inference
algorithms and to combine them. You can still find that version of hakaru at
[https://github.com/zaxtax/hakaru-old](https://github.com/zaxtax/hakaru-old)

~~~
eli_gottlieb
And here I actually used the old Hakaru. What would be the problems in porting
it to more recent Base libraries and GHC versions?

~~~
cf
I expect no significant challenges in porting to more recent version of GHC.
Some version bounds will need to be loosened and an Applicative instance added
for the Measure monads. Also if you have any feature requests for that version
I'd be curious what they were.

