SlicStan


#1

Hi Everyone!

I recently finished my masters degree, during which I developed a probabilistic programming language called SlicStan, which compiles to Stan. In short, its syntax is very similar to Stan, but does not have program blocks (the block a variable belongs to is deduced automatically). This also allows for more flexible user-defined functions that declare new parameters. For example, the non-centered Neal’s funnel model from page 338 of the manual can be written as follows:

def non_centered_normal(real m, real s) {
    real x_raw ~ normal(0, 1);
    return s * x_raw + m;
}

real y = non_centered_normal(0, 3);
real x = non_centered_normal(0, exp(y/2));

Here is a link to the full dissertation (see Chapter 5 for examples):

I will very much appreciate any thoughts you have on this!

The post is also a follow up on this recent discussion:


#2

Well done!


#3

Very nice @mgorinova! I see that you’re in a CDT. Does that mean you’re continuing in this vein? Random fact: Edinburgh is @Bob_Carpenter’s old stomping ground!


#4

Thank you, Ben and Daniel! Yes, I am starting the PhD part of the program now. I don’t have a concrete topic yet, but it will definitely be probabilistic programming related, and it’s likely to involve Stan in some way.


#5

And by “old,” he means 30 years ago! I was there '84–'87 doing my Ph.D. in cog sci/comp sci (now all rolled into Informatics); it took me another year to write my dissertation up back in the U.S.


#6

The temptation to sing the KLF’s Justified and Ancient at you when next we meet is strong.


#7

Found it myself on YouTube to continue off topic.