If you haven’t been following my research journey, this episode is a great place to join! I recap of who I am, where I come from, what I’m trying to accomplish, and how I hope to accomplish it.
The mission of this project is, broadly, to “democratize” programming. My new phrase is:
Enable all people to modify they software they use in the course of using it.
This mission would cause the following changes, in order of increasing importance:
This vision is not new nor creative: it’s obvious that people would change things if they could. Yet this problem has proven stubborn over the decades and most have given it up as insoluble. We have all but forgotten the essential characteristic of computers: their malleability.
In order to accomplish this vision, I believe there are three large categories of problems that need to be addressed:
My recent work was on ridding ourselves of the IO Monad from user interfaces, which is building on Conal Elliot’s FRP work. My paper and talk at REBLS last month argues that Elm Architecture makes software take longer to understand (which is untenable if we want people to be able to modify the software they use in the course of using it) as compared to the higher-order and cyclic streams of Conal’s original FRP.
My future work will be improving the programming experience of “original FRP”, potentially with a Haskell-inspired structured editor. I will also extend Conal’s FRP work to also removing the IO Monad from the “backend”.
In the episode I add a lot more color to these points, as well as discuss my personal background, the past and future of Future of Coding meetups, my experience at SPLASH last month, and other whacky ideas!
You can see the transcript for this episode at https://futureofcoding.org/episodes/33.