Strange Loop

September 26-28 2018


Peabody Opera House


St. Louis, MO

How would a Panda program computers?

It's 2016, but our approach to programming isn't much different from 1976. It's characterized by text in files, syntax errors, bugs, and documentation on the side. The feedback cycle may be smaller but fundamentally it hasn't changed much. We can do better. Panda gets away from loops, ifs, mutable objects by operating on streamed data. Using a system which knows what you can do next programming is like a dialogue. Ultimately, we'd replace most simple programming tasks by just selections through an adoptive touch UI.

Panda is a reactive concurrent streamed-evaluated object-oriented functional based distributed language system. It avoids obsessing about types, math, and recursions, is instantly parsed into a typed cost-aware datalog that compiles to javascript. Expressions are cheap lightweight concurrent processes. Like Erlang, these together with global messaging forms the basis of distributed computing platform. If persisted, messages form an implicit event sourced data storage, with built-in key-value indices. On this, a simple integrated wiki-style code editor, stores and shares functions online. 10 lines implements a simple distributed web-based real-time chat.

Jonas S Karlsson


Jonas S Karlsson likes spoken languages as well as programming languages, he implemented his first forth interpreter when he was 15, a smalltalkish-pascal interpreter, various lisps, but most he likes to use and further ideas from database systems research and create programming languages from this. He's done research in Sweden on main-memory object-oriented databases and at the CWI National Research Center in Amsterdam. His PhD is on scalable distributed highly parallel storage servers. At Google he built “the google database” that powers and let apps scale (underlying Google App Engine, Google's cloud, and many user-facing applications), and made Google Wave scale reliably.