Formula One Feminist Programming Racecar

Well, not really a racecar, but rather because the title sounds catchy, and more importantly because “Formula One” is often abbreviated F1 – but what we really want is F_1.

I was once again taking another stab at perusing Karen Barad’s famous, at least made vaguely so, or perhaps infamous, given all the juvenile parodies that were thrown up, in the programming world, paper known as “Posthumanist Performativity”, trying once more to get some more ideas regarding just what these concepts actually attain. I have also looked into other things lately such as starting to examine the concept of “feminist Technoscience”, which seems like it would be the precise field which deals with what a “feminist programming language” might address.

But let’s go back to the Barad paper. I want to say I still have not fully digested the paper – but I nonetheless note a particular item of interest, which is that in several places it is mentioned how that in usual western philosophy, the notion that in order for relations to exist there must be some sort of “relata” to be related, that “things” exist which enter into “relations”, and Barad seeks to challenge this notion.

The reason I find this intriguing is because of a very interesting object in abstract mathematics I have looked into a little before known as F_1 – the “field with one element”.

Why is this interesting? To explain this, we have to dive into some basic abstract mathematics. One should be familiar with the real and possibly complex number systems from grade school, at least. Even if you did not fare so well in grade school mathematics, although if you’re a programmer I hope you’ve got at least some decent understanding of mathematics since it’s very important to programming, you should know that at least the real numbers have two operations defined on them, addition and multiplication, and two “derived” operations of subtraction and division, where “derived” means that the latter can be defined in terms of the former – for example, subtraction “undoes” addition. This structure of real numbers satisfies a number of rules, such as the commutative law which says that for any real numbers a and b, a + b = b + a, and ab = ba. These rules for addition, subtraction, multiplication, and division, taken together, are the foundation for study of abstract mathematical objects called “fields”, themselves studied as part of the branch of mathematics known as abstract algebra along with similarly defined structures such as groups, rings, monoids, and more. These fields, and indeed, most mathematical objects in general, are defined as a set of things together with some relations defined on them – in this case functional relations of addition and multiplication – that satisfy certain rules or axioms. Sound familiar – like what Barad was challenging? Well, it gets serious. In this usual conception of abstract algebra, a field can have only at least two elements – which are traditionally called “0” and “1”. That is, a set with fewer elements than these is not a field. In particular, there can be no field with only a single element. You can try and take a singleton set and then define addition, subtraction, multiplication, and division in the only way possible which is that they can only take in for both inputs the sole relatum in the set and for output that same sole relatum. But the structure so defined lacks many of the properties of a field, even though in some statings of the axioms for a field it should qualify. Thus it is usually excluded, with, e.g. an axiom that “0 != 1”, and is instead considered to be at home in the classification of rings, not fields. Yet there are a number of areas in which it seems as though an object that would behave in all ways like a field, but with one element should exist. Yet it cannot be accommodated in this traditional relations/relata schema, and some suggest therefore that a different foundation for abstract algebra is required. It is as though it is a rebel, “queer”, perhaps, if we want to look at the feminist terminology, or an “anomaly that threatens the system”, using pop culture terminology from the “Matrix” movies. Yet it is a profound one, with deep connections running through to possibly providing an avenue to a proof of the Riemann Hypothesis, one of the most celebrated unsolved problems in mathematics to date and a problem which, if you can solve it, you can get a $1 million prize from the Clay Mathematics Institute.

So the question would be: could philosophies like Barad’s, were they to be actually taken up seriously and looked into by the mathematical community, potentially have light to shed on problems like this, and perhaps so much more? Areas of inquiry where criticism of exactly these kinds of philosophical assumptions has a long history would certainly seem like something that any researcher in this field should consider deeply. What could be the result of such interdisciplinary collaboration and crossover study? What does this say about the pernicious effects of the kind of sexist dogmatism that led hundreds of websites across the Internet including programming sites to lampoon and lambast Schlesinger’s ideas and other, similar ones, have not just on women’s interest in and contribution to mathematics and science, itself a terrible shame, but also on the cherished “progress” that scientists seem to seek through their research in more direct ways? Furthermore, what does mathematical investigations into these issues suggest insofar as new insights into the feminist philosophy side of things? What could a fruitful collaboration between the two sides bring in terms of understanding, for both sides, so that not only perhaps could mathematical progress be advanced but also that new and surprising things be revealed within feminist philosophy itself, potentially providing great new insights into how we could build better societies and cultures? We really should have some feminist mathematicians!

Furthermore, what could be said about academe culture – in particular, its often full of rivalries and antagonisms between different fields and different departments, where each likes to dismiss the other (e.g. in Physics, one of the fields that I am currently getting my degree in, the other being Computer Science, and other “hard science” fields, there seems to be much antagonism against philosophy, thinking it’s “not hard enough”, while then the philosophers attack the “hard scientists” as being too concerned with only the results and not any further implications – or at least that’s what I remember, so it could be inaccurate.), instead of trying to find some common ground and get past the hostilities and see we are all in this one great knowledge-making enterprise together that, were it to be united and brought to its full potential would probably send humanity to the stars – figuratively and literally.

I invite the discussion to begin in earnest. As usual – keep it civil in the comments. Juvenile parodies of feminism of the “C+=” style will NOT be tolerated. I am going to see if I can advertise this post on a few sites to get some interest.

PS. GO ARIELLE!!!!! You should NEVER give up on your dream of Feminist Programming Languages, and neither should anyone else who seeks to explore that idea further.

Entangled Programs

This is, finally, my first post to this blog, which has languished for all this time, doing nothing. I had originally created it with the purpose of discussing “non-orthodox” approaches to creating programming languages. My initial inspiration was Arielle Schlesinger’s posts to the website HASTAC, mentioned here:

https://www.hastac.org/blogs/arielle-schlesinger/2013/11/26/feminism-and-programming-languages

https://www.hastac.org/blogs/arielle-schlesinger/2013/12/13/feminist-programmer

https://www.hastac.org/blogs/arielle-schlesinger/2014/07/14/feminist-code-critical-code-studies-working-group-2014

where she discusses the idea of constructing a “feminist programming language” – a programming language which draws its inspiration from feminist philosophy or incorporates feminist aims into its design.

This idea was not very well-received by the Internet – sexist elements came out so fast in their rush to deride this it wasn’t even funny. Within like what seemed to be literally a couple of weeks, a giant parody language, “C+=”, and even a political cartoon featuring a caricature of Schlesinger, appeared on the Internet, with the former loaded to the hilt with all manner of very juvenile and ignorant stereotypes of feminists and feminism. There were some sites, such as Y Combinator, where a few more serious posts were seen examining and critiquing the idea, but places like “4chan” were definitely full of hate. It reminded me of my own past, when I had been insulted badly on forums during my kid and early teen years, to the point where one forum made a “Mike Throll” cartoon ASCII comic strip mocking me. Yet it seems here, the reaction was extra swift and involved many different websites, not to mention that the work from the “C+=” group had slicker artistry than ASCII graphics – I will give them credit for at least being creative with their logos for the mock “Feminist Software Foundation” and so forth. I had only wished that if they wanted to mount a critique, they should have been a little less ignorant about feminism than what I saw in the parody language.

I, too, will admit that I too got mad at it, popping my head because it didn’t make sense or seemed contradictory. The few posts were loaded with various social-critic jargon phrases like “reifies normative subject-object theory”, “create entanglements”, and so on. Yet I eventually came back to it and couldn’t put it down, especially as I looked at the discussions on HASTAC a second and third time, as it seemed like it might be interesting. Talk of languages based on MUSH games, “mutual consent” objects, and so forth, and I started to think about how a couple of these ideas might work. This is where most of the serious talk was. There were also posts there offering interesting critique of Schlesinger’s hypotheses, in particular, arguments surrounding the legitimacy of the “Sapir-Whorf hypothesis” in linguistics and how/if it applies to programming languages, since Schlesinger’s contention was that such programming languages embody cultural or social values, and maybe also, could influence how a programmer thinks. I will admit that when you use different programming paradigms – not necessarily “languages” but at least paradigms, that is, what constructs you have available to you – it does affect how you organize the software. I also noticed a nice blog here:

http://www.uncomputing.org/?p=303

which gave some serious analysis/critique.

But I was really after this one about “entaglements” as an alternative to object-oriented programming. Regardless of questions surrounding whether it would make a more “feminist” language or what not, I was interested in the sheer theoretical exercise behind this. The word seemed strange and interesting. “Entanglements” – as in quantum theory? What could that have to do with a programming language, beyond the obvious application of a programming language for a quantum computer? I wanted to dig more. I wanted to see what this entanglement language would look like – would it be as “pointless” as all the naysayers were saying (usually juvenile with ignorant statements and so not really anything useful), or could there be something here?

Schlesinger referenced a paper called “Posthumanist Performativity” by “Karen Barad”, and when I opened that up, I was first put off almost immediately by the sheer volume of jargon the paper contained. “Dynamic topological (re)configurings”… what the …? Googling this stuff was of no help. I wouldn’t have had a clue as to where to begin to maybe look for a book that would have any of it in it.

So I tried on and off for much time thereafter, looking for various sources, articles, books, anything that could explain this stuff, especially Barad’s theories. I couldn’t get it. Once I enrolled in college to start my degree which was going to be a double in Physics and Computer Science (I have been an amateur programmer for over 20 years, although not consistently over that time), I ended up taking (also to fill a requirement) a course in Gender Studies with the aim of hopefully getting some basics down. Needless to say, even with preparation, this stuff is tough, but I am a stubborn person and so I persist. I looked at some of “Meeting the Universe Halfway”, but man it’s dense, and haven’t gotten around to the whole thing, right now just trying to get a summary of the basic ideas together so I can then go deeper. I even ended up sending Karen Barad herself an email asking for a small input.

Finally, now, I think I have a rough shot at starting to grasp some of this, and this is where I want to get input on this blog site. What Karen Barad’s “entanglements” are are part of this theory known as “Agential Realism”, which seems to derive its inspiration from quantum mechanics, in particular, philosophical ideas from Niels Bohr. (Karen Barad is an interesting personage. She seems to have started off a quantum physicist, but then underwent some sort of metamorphosis into a feminist philosopher.) It’s very difficult reading, and I want to point out that this is a preliminary understanding only, which means I invite very, very strongly any and all criticism from people with more knowledge and really, really want to see it. But from the reading and many false starts and dead-ends, I think I might be on to at least a rough possible outline of what’s going on here, which, if right, I hope will allow me to begin filling in the details to really understand Baradian theory to maybe shed some light on what a language based on this might look like. But here goes:

1. In Baradian theory, we dispense with the traditional notion of the existence of “objects” as discrete, self-contained entities and relations are incidental to the objects themselves.

2. Following that, the relations are considered to come first, the objects second.

3. In conventional theory, relations are produced by objects interacting. In Baradian theory, objects are produced by relations intra-acting, where an intra-action is not simply an interaction between relations as objects, but rather something within the relation that brings about the related objects. (Or “two objects interact to produce one relation” in conventional theory, but “one relation intra-acts to produce two objects” in Baradian theory.) The objects get their properties and identity through this process, as opposed to having a fixed identity from the start. The identity is contingent, not absolute.

4. The objects formed this way are said to be entangled. Entangled objects, being formed from relations, cannot be treated as separate or isolated (analogous to entanglement in quantum mechanics where the quantum state of an entangled system cannot be considered as merely the sum of the independent states of its components – indeed, Barad seems to draw the theory out of quantum mechanics.). To describe one you have to describe the other.

5. Entanglements are not static, but ever-changing in a process of “(re)configuration”.

Is this valid? If not, where is it lacking and so where does it need improvement? If this is not too far off, then I believe I have isolated the core which would be applied to the programming language constructs. The key terms would be object, entanglement, intra-action, with each of these some construct in the language – and I suspect that it’s in the intra-actions that the meat of the program logic will exist, so they would probably be analogous to the member functions on objects in an object-oriented language.

I notice there are some other terms, e.g. “agential cut” which forms a distinction between a “subject” and “object” – and I have not yet gotten around enough of the theory to get how those work here.

There is also the notion of a “phenomenon” in the theory, where these phenomena are a type of entanglement in which we have an “apparatus” or measuring device and something to be measured. The theorizing kicks off with the straightforward idea of a quantum lab experiment where you have a particle and a detector, and then proceeds to generalize like mad this concept to all kinds of domains. But these “apparatuses” are themselves subject to creation by intra-action, so then we could say that they are entangled with something else, and so on.

Is this anywhere close at all to the right track, or am I totally like … a mile off base? Right now I’m just trying to get together the basic skeleton of the theory – fill in the details later. This stuff is so damn dense and loaded with jargon terms, many of which seem to be Barad’s own inventions such as “intra-action”, “(re)configuration”, etc.

Though if this is even an inkling of what’s going on, it seems like it would be a fascinating programming language to use – one where the objects are dynamically modified in their properties, not just their stored data, over time, with groups of relationships defined as a net of entanglements comprising the program, and the objects within an entanglement may be part of other entanglements, which in turn would then interface with “the real world” in the manner in where the progressive definition of phenomena by ever higher “apparatuses that measure other apparatuses” eventually leads to an entanglement where the next apparatus in the chain is the computer user … and that’s what, in the program, marks the input/output terminals, and so we “blend” seamlessly (in our mental picture) from the world of the program to the real world.

What do you say? Please, post all the comments and input you can, and tell me if I’m totally washed out here or if I am onto something.

I want to emphasize though, as in my preliminary post to the blog, I will NOT tolerate any hate mail type comments, or any insult comments to either this work, this author, or to Arielle Schlesinger. Please offer some useful critique, not just juvenile jabs.

Introduction

On this blog site I will post proposals and ideas for new programming languages or approaches which I find interesting. You are free to offer comments, critique, or analysis in the comments. The rules are simple: I expect comments to be on-topic and free of any abusive language (which includes any personal attack on me or another commenter, even just saying “idiot!” to them). Any such comments will be removed and the commenter given a warning. On the second catch, they will be barred from commenting indefinitely.