I'm having a really hard time comprehending what should be simple code in church, the LISP like programming language used in probmods.
Mostly I'm having a hard time figuring out if what-ever I'm working with is a function that requires input or is a result from a function. I'm mostly familiar with ML/NLP stuff in python.
Is there some "trick" to more easily figure out what is going on? My understanding of the prerequisites was that lambda-calculus was not a requirement.
Church is a Scheme dialect. Scheme is a Lisp-1, meaning there's a single namespace for everything, including functions. That is, a variable can be bound to a function object, an integer, a list, etc. This is IMHO a very good thing.
Functions or macros can return other functions. It's not easy to say what is going on, unless you look a bit at the context to spot e.g. function applications.
> That is, a variable can be bound to a function object, an integer, a list, etc. This is IMHO a very good thing.
The same with Python, which I spend most of my time using. However, I cannot remember the last time I had trouble figuring out if I was dealing with a variable that contained a value or a function in python, whereas in probmod I am having difficulties with a simple countess application.
Oh this is interesting. Do you know people who use PyMC extensively, especially in industry? I'm working on some empirical Bayes estimation nowadays, and it's not unrealistic to think I'll encounter an ugly posterior soon enough.
Not a data scientist by any means, but I heard [Bayesian Data Analysis](http://www.stat.columbia.edu/~gelman/book/) mentioned more than once, and it seems to use Stan (there is also PyStan)
This is not the place, but I've been frustrated in the last few days by jupyter not being able to run these notebooks with an up to date python scientific stack. The kernel dies whenever a cell is run that attempts to generate an in-line chart.
* https://probmods.org/
* http://forestdb.org/