HackPPL: a universal probabilistic programming language

HackPPL: a universal probabilistic programming language Ai et al., MAPL'19 The Hack programming language, as the authors proudly tell us, is "a dominant web development language across large technology firms with over 100 million lines of production code." Nail that niche! Does your market get any smaller if we also require those firms to have … Continue reading HackPPL: a universal probabilistic programming language

Understanding real-world concurrency bugs in Go

Understanding real-world concurrency bugs in Go Tu, Liu et al., ASPLOS'19 The design of a programming (or data) model not only makes certain problems easier (or harder) to solve, but also makes certain classes of bugs easier (or harder) to create, detect, and subsequently fix. Today’s paper choice studies concurrency mechanisms in Go. Before we … Continue reading Understanding real-world concurrency bugs in Go

Programming paradigms for dummies: what every programmer should know

Programming paradigms for dummies: what every programmer should know Peter Van Roy, 2009 We’ll get back to CIDR’19 next week, but chasing the thread starting with the Data Continuum paper led me to this book chapter by Peter Van Roy mapping out the space of programming language designs. (Thanks to TuringTest for posting a reference … Continue reading Programming paradigms for dummies: what every programmer should know

Bounding data races in space and time – part II

Bounding data races in space and time Dolan et al., PLDI'18 Yesterday we looked at the case for memory models supporting local data-race-freedom (local DRF). In today’s post we’ll push deeper into the paper and look at a memory model which does just that. Consider a memory store $latex S$ which maps locations to values. … Continue reading Bounding data races in space and time – part II

Bounding data races in space and time – part I

Bounding data races in space and time Dolan et al., PLDI'18 Are you happy with your programming language’s memory model? In this beautifully written paper, Dolan et al. point out some of the unexpected behaviours that can arise in mainstream memory models (C++, Java) and why we might want to strive for something better. Then … Continue reading Bounding data races in space and time – part I

HHVM JIT: A profile-guided, region-based compiler for PHP and Hack

HHVM JIT: A profile-guided, region-based compiler for PHP and Hack Ottoni, PLDI'18 HHVM is a virtual machine for PHP and Hack (a PHP extension) which is used to power Facebook’s website among others. Today’s paper choice describes the second generation HHVM implementation, which delivered a 21.7% performance boost when running the Facebook website compared to … Continue reading HHVM JIT: A profile-guided, region-based compiler for PHP and Hack