Blending the REPL, editor, and source-code


Most traditional software programming is completely opaque: you write a code, compile or run it, then see if it works. There are multiple problems with this approach, and lots of solutions – faster iterations, unit tests, and so on.

But we still need a better way. Most of the time we’re transforming data into code. So why can’t we just see the data, and how it is transformed, before we even decide to save the source files? Can we blend the representation of code (in our editor), data (that we’ll input in our code), and maybe experiment on visualizations? How can we communicate better with the product we’re making, and can we write better programs if we just can experiment even earlier?

In this talk, I’ll show my approach to blend these representations, how I work with it, and how it helps to develop a better product. But more than showing a tool, I will show how this approach can change the way we even think about code; how experimenting earlier is able to guide us to a solution even before we fire up servers or write unit tests, how it creates a real-time, configurable visual connection with the code and data it uses and produces, and finally how far can we explore those ideas.


Maurício Eduardo Chicupo Szabo (Bio Ritmo Academia)
I’m a software developer with more than 15 years of experience in multiple languages, now working with functional programming, Clojure and Ruby. I’m the author of Chlorine and multiple other packages on the Atom editor, even before the 1.0 release, and also contributed to LightTable, proto-repl, and other packages in other editors. Now I’m working mainly on Chlorine, it’s NeoVIM port Clematis, and organizing things to a VS Code release.