Indy.Code() Sessions tagged functional programming

The Future of Programming

As professional developers, most of our time is spent thinking about the near future. We are cemented into our current workflow by policy, social cohesion, or pragmatic considerations. While we may be constantly seeking to improve, new tools and libraries come with a certain amount of cost. It is simply not practical to completely change the way we are doing things and so we end up with small incremental improvements.

We will look at what could happen if we gave up these small incremental improvements and looked at radically different ways of programming. We will explore three languages that cast a particular vision of programmings future. The first, Idris, explores the idea of code that can guarantee that is free of all sorts of bugs. With Idris, we may in the future be able to have a proof that our program is secure. Next we will explore Unison, a language that allows us to control thousand of machines in just a few lines of code. No longer would we need microservices, a new service is a just a line of code away. Finally we will look at Eve, an experiment in language design that asks what our programs would be like if 1) code ordering didn't matter 2) all our programs were edited live 3) we could write the same systems in order of magnitude less code and less time.

Speaker

Jimmy Miller

Jimmy Miller

Senior Developer, healthfinch

Let Your Code Write Itself

This talk will be a dive into two technologies, Idris and Barliman, enabling developers to sketch some code and allow the computer to complete it for us. These two technologies take drastically different approaches to this same task. In this talk we will explore both, showing the benefits and tradeoffs both offer.

First we will explore Idris, a dependently typed programming language. Rather than offer a tutorial of Idris, we will focus on its ability to write code for us. This will take the shape of a live coding session, show where Idris shines and where it falls short. Having explored Idris interactively, we will discuss the theory behind it.

Next we will explore Barliman, an interactive development environment aimed at allowing the user to provide a sketch of the program they'd like to write and some test cases they want to pass. We will again do some live coding allowing Barliman to derive our code for us. We will then constrast Barliman's approach to what we saw in Idris focusing on its dynamic nature. Finally we will talk about the impact these systems have on our day to day programming as well as casting a visions of what these systems may look like in the future.

Speaker

Jimmy Miller

Jimmy Miller

Senior Developer, healthfinch