Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Scala DSLs and Probabilistic Programming

Strange Loop Conference via YouTube

Overview

This course focuses on teaching how to use ScalaStan, an interface to Stan for probabilistic programming, from Scala. The course aims to demonstrate how the Scala type system enforces type-safety in Stan models and prevents the generation of invalid Stan code. By utilizing an embedded domain-specific language (DSL), participants will learn how to specify Stan programs in Scala, manipulate data in a type-safe manner, and optimize Stan models for efficiency. The intended audience for this course includes programmers interested in statistical modeling, data analysis, and probabilistic programming.

Syllabus

Scala DSLs and Probabilistic Programming
Statistics from a Programmer's Perspective
What is Stan?
Example: Predicting Weight
A More Accurate Model?
Beyond Simple Regression
What is an Embedded DSL?
Why Embed the DSL?
Overview
Stan within the Scala Type System
Creating Stan Types
Stan Values
Subclassing is Not Enough
Implicits/Type Classes
Operator Type-Checking Using Implicits
Random Number Generation
Implicits to Enforce Scope
Using Scala Types to Check Input Data
Detour: The State Monad
Type Checking of Stan at Scala Run-Time
Conclusion

Taught by

Strange Loop Conference

Reviews

Start your review of Scala DSLs and Probabilistic Programming

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.