Leap of faith: Programming radical imagination

Isabella Schreiber/File

Related Posts

##Sometimes, taking a leap of faith can feel impossible.


Let’s start with an example.



Consider a prison. Prisons, on principle, mean that society has a need for prisons, that you have a need for a carceral solution. Your society has undesirables that you have determined must be removed

## why must they be removed? will your society crumble if they remain? or do they simply represent your failures, and for that, must be punished?

and thus the need for a prison to put them in. Assuming there are still violent crimes, then there are still people being harmed in your society. If your prisons are the same as ours, people are being doubly harmed by your punishments from society. If you have considered the prison, you have already failed.



Consider a not-prison. Maybe you have an electronic monitoring system or a form of house arrest. Perhaps you send your not-prisoners off to their own colony separate from the rest of society. Maybe you just revert to forms of corporal and capital punishment and hope that serves as the ultimate deterrent. If you still need deterrents, if you still have not-prisoners to punish, you still have victims. You still have crimes. Something is still deeply wrong. If you have considered the not-prison, you still have the same society with the same functions.  You are just considering the prison in disguise.



Both the prison and the not-prison seem tempting options. Neither requires a massive reformation of society, and both allow a sense of false security to pervade the social and political sphere. If there are prisons, we as a society do not have to deal with the people in them. We do not have to face our failures

## why do people commit these crimes? why are there crimes at all?

or confront our own shortcomings and mistakes

## how do we live with ourselves knowing that there are innocent people suffering at the expense of our own sense of safety?

but there are still victims, both of the society and of the system we construct.



Consider, as a starting point, a world without prisons. There are a lot of pieces to fill in, yes, but this is a good place to start. To have a world without prisons, the final vision, the abolitionist future, would be a world without crime.  But how to create that world?

While there is a wealth of literature on that particular question, it can be difficult to wrap your mind around. It’s one thing to read that an abolitionist society would necessitate fundamental changes to everything from education to the economy, and it’s quite another to envision what that world would look like. It’s tempting to start building from the society that already exists, fixing superficial but incredibly impactful problems with prison conditions and wrongful convictions and bail reform, and to end up just creating another version of the prison or the not-prison. And while that would be better, it would still not solve the dilemma of abolition; it would not remove the societal demand for prison altogether.

Consider thinking recursively. Imagine programming a recursive function, one that calls upon itself to return each part of the solution. Recursive functions require a leap of faith — you must assume that the function will work on the simpler recursive call, and if that is the case, the whole function is correctly defined. If the function is correctly defined, each recursive call will add to the solution, building a solution more complex and elegant than brute-forcing your way through all the levels of the problem individually would allow.

Recursive functions require a leap of faith — you must assume that the function will work on the simpler recursive call, and if that is the case, the whole function is correctly defined.

When I first learned recursion in CS 61A, I was fascinated. Complicated problems that would require rows and rows of code to loop through and build from beginning to end could be greatly simplified just by calling the function on itself again and again, integrating each call into the larger solution. Functions can branch depending on the results they may return, running through comparisons of different steps and scenarios to find the right one, all from just a few lines of code. When you look up recursion on online forums and find people questioning what’s so special about it, the word that jumps out most in the replies is “elegant.” Recursion is elegant and powerful and an incredibly interesting way to approach problem solving.

It took me a long time to get comfortable using recursion in my programs. Just like thinking through prison abolition, it was difficult for me to conceptualize this approach to problem solving. Rather than approaching a problem step-by-step (check for edge cases, tackle each level of the problem by running through each scenario, add the right component to the solution), instead, start from the end goal — What is the last return? What characteristics should the solution have? — and figure out what is needed to fill in the blanks.

I learned about recursion at a time when I was struggling to understand radical imagination. How could small actions ever build up to the massive structural changes called for by many of the authors I was reading in my ethnic studies classes? How could individuals ever counter the power of a stagnant status quo? And how can either of those happen while clinging to love and care as priorities, rejecting solutions that ask you to disregard the humanity of others?

Thinking recursively, or using recursion as an analogy for radical imagination, offered a solution to this conundrum. Start with the end goal: What is the last return? In this case, it is the absence of prisons. What characteristics should the solution have? A society that does not feel the need to turn to prisons. Then, figure out what is needed to fill in the blanks. What would be needed in this society? What about society itself would have to change?

And if you look around, people all over are already starting to do this work. Especially in this time of crisis, mutual aid programs are functioning across the country to help support folks in local communities. Restorative justice programs are being established as test cases in certain districts and have been met with resounding success. People are organizing to end cash bail, end jailing people for minor convictions, end the death penalty, abolish life without parole sentences. Rather than beginning with the problem of prisons, people are starting from the solution of a world without them, creating the conditions for that society with each project undertaken. All of these small components, and more that have yet to be won, are building toward the hope for a better future.

## Sometimes, you just have to take a leap of faith. The function will work. We just have to put the pieces in place.

Contact Saya Abney at [email protected].

Tags No tags yet