Probabilistic Programming with Densities in SlicStan: Efficient, Flexible and Deterministic

11/02/2018
by   Maria I. Gorinova, et al.
12

Stan is a probabilistic programming language that has been increasingly used for real-world scalable projects. However, to make practical inference possible, the language sacrifices some of its usability by adopting a block syntax, which lacks compositionality and flexible user-defined functions. Moreover, the semantics of the language has been mainly given in terms of intuition about implementation, and has not been formalised. This paper provides a formal treatment of the Stan language, and introduces the probabilistic programming language SlicStan --- a compositional, self-optimising version of Stan. Our main contributions are: (1) the formalisation of a core subset of Stan through an operational density-based semantics; (2) the design and semantics of the Stan-like language SlicStan, which facilities better code reuse and abstraction through its compositional syntax, more flexible functions, and information-flow type system; and (3) a formal, semantic-preserving procedure for translating SlicStan to Stan.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/27/2018

Lolisa: Formal Syntax and Semantics for a Subset of the Solidity Programming Language

This article presents the formal syntax and semantics for a large subset...
research
02/25/2017

Monte Carlo Action Programming

This paper proposes Monte Carlo Action Programming, a programming langua...
research
02/21/2023

Denotational Semantics and a Fast Interpreter for jq

jq is a widely used tool that provides a programming language to manipul...
research
12/28/2017

Automated Refactoring of Nested-IF Formulae in Spreadsheets

Spreadsheets are the most popular end-user programming software, where f...
research
07/17/2020

Smart Choices and the Selection Monad

Describing systems in terms of choices and their resulting costs and rew...
research
11/21/2022

Formal Abstractions for Packet Scheduling

This paper studies PIFO trees from a programming language perspective. P...
research
01/31/2018

Deep Reinforcement Learning for Programming Language Correction

Novice programmers often struggle with the formal syntax of programming ...

Please sign up or login with your details

Forgot password? Click here to reset