Homepage of Sandhya Sundaresan.  

  • Thomas McFadden

Quarantine enforces modularity

Well, social distancing, social media. Facebook is at peak relentless jealous attention-grabbingness and exhaustingness. I can only assume that the other ones are just as bad. Berlin is now largely shut down, which actually came as good news -- recognize the seriousness, act accordingly and all that -- but of course means extra time on our hands and very few places to spend it in. Going for walks in the socially distant countryside is off the table since car sharing means sharing cars. So. Linguistics?

I was thinking about quarantine and modularity. I don't know if there's any interesting insight here, but let's see. There are different kinds of modularity, distinguished in part by how they are derived/enforced/maintained. But I guess what they have in common is limited, but non-zero, interaction between domains, i.e. modules. If you have two domains that don't interact with each other at all (e.g. my laptop and the desk chair on the other side of the room if we abstract away from the vanishingly small gravitational effects they exert on each other and the like), that's not modularity, it's just two things that have nothing to do with each other. It's only sensible to talk about modularity in the context of a somehow unified system. On the other hand, if you bake biscuits (as I did last night, cause time, and they were ok but not great), there isn't really any modularity of, say, butter (no shortening on hand, so it's butter here) and flour. Sure, they come in separately, and at a sufficiently micro level (and initially even a fairly macro level, when you cut them together and get little crumbs which are basically blobs of butter coated in flour) they stay separate, but the whole point is that they mix together thoroughly and fairly evenly without any structured limit on their interactions (ok I'm probably wrong here at a sufficiently deep bake-o-chemical level, and maybe even in a really interesting and instructive way, but just suspend disbelief and stay with me at the intuitive level where the example works). Long story short, it's not modularity when stuff mixes together willy-nilly.

Ok, so a way that I like to think about it is that, in a modular system, the individual modules are opaque domains with transparent interfaces. The domains can't talk to each other or interact in any way directly, but they can do so in a limited way through their interfaces. (By the way, I think this is also an interesting way to think about phases and certain types of locality, although standard phase theory does it in a sort of backward and incidental way, and maybe we get interesting results if we try to rebuild phase theory more explicitly around this understanding of modularity, but that's a topic for a different post.) To get back to the original point, we can distinguish different types of modularity based on how the opacity and transparency are derived. Often there is some natural basis to the opacity, in that the kinds of things that two different modules deal with are so different from each other that there's no reasonable way for them to interact directly. So e.g. the keyboard on my laptop and the physical printing mechanism of the inkjet printer in the corner of the room can't and don't talk to each other directly. The keyboard is a collection of physical objects that can be manipulated up and down to send particular electronic signals, while the printing mechanism puts ink onto paper according to precisely specified patterns. They involve rather different physical materials, and if they got mixed up, nothing useful or even well-defined within the system would happen. Shit would just break in a messy way. Of course, they do talk to each other through intermediaries. I can use the keyboard to compose and transmit signals that will ultimately specify the intricate patterns for the printing mechanism to follow. So they are part of a single system, and it's reasonable to think of them in modular terms, but what really makes things work, and really nails down the modularity, is the nature of the interfaces that allow the different modules to talk to each other. In this particular case there are actually lots of interfaces in between, most of which I have absolutely no idea about, but some important ones include the keyboard driver (which translates the basic signals from the keys into a standardized format that the operating system on the laptop can deal with), the printer driver (which translates data from the laptop into a standardized format of printer-specific instructions) and some version of the 802.11 standard that my home wifi network uses to physically transmit the data via radio waves from my laptop to the printer.

Exactly how things get divided up here, how many levels (and thus how many modules) there are and how they talk to each other is not imposed by the logic or nature of the situation but by more or less conscious design decisions. That's in a way the really interesting stuff, where modularity isn't forced, but might still be a good idea in cases where you get to design things, and in cases where we're trying to investigate an existing system to see if and how it deploys modularity. When it comes to design, there's lots of precedent for putting in way more modularity than the trivial bit forced by the different substances dealt with by different parts of a system. Lots of really clear examples come from software development and the design of programming languages and other computing systems. The different parts of a single program are made up of the same stuff -- structure, programmatic digital information encoding data and instructions for a computer -- and are even typically (though of course not always) written in the same programming language, so they absolutely can interact in various good and bad ways. But a fairly consistent development over the history of computing, both in terms of what is regarded as good style and practice when writing software and trends in the design of programming languages, is the increasingly sophisticated imposition of modular structures. Programs are broken up into smaller parts (e.g. subroutines, functions, objects...), each with a clearly defined task, and with restricted and well-defined interactions between those parts to allow them to work together. And languages are expected to provide built-in mechanisms to facilitate and even enforce this kind of modular design, concepts with fun names like encapsulation and information hiding.

As for looking for non-trivial modularity in systems we're investigating, well, that's part of our job as theoretical linguists, at least as I understand it. Of course there's some unavoidable modularity forced by the substance -- the primitives of articulatory phonetics and linguistic semantics are not the same sorts of things, and there's no real sensible way for them to interact directly with each other, even though they clearly do interact indirectly in their roles within language. The interesting question is which of the infinitely many imaginable ways the modularity of that interaction could be structured is the actual one, with how many modular levels, and furthermore how much non-trivial modularity of the encapsulation/information-hiding kind we find on the individual levels. Again, phase theory can be understood as a claim that at least some types of syntactic locality result from a kind of modularity of the chunks of syntactic structure that go into a single sentence.

Ok, so now let's stretch the metaphor beyond speculation to silliness. Many of us are practicing moderate to extreme social distancing, and even quarantine. Obviously, all of the individual collections of humans hidden away in their homes are in principle capable of interacting directly in an entirely sensible way. So we don't have trivial modularity due to incompatible substance. Rather, we've got modularity by design, in the form of imposed encapsulation. And of course we are still interacting indirectly, we are joined together in a kind of system. I guess the question is what the interface is, and how well-defined it is. What's the edge of our coronavirus phases? The heroic delivery drivers who bring us food and hand sanitizer and toilet paper? This internet? Government agencies enforcing and structuring the encapsulation? Quarantine is the PIC? By the way, if what we're encapsulating and preventing the spread of is a virus, and a virus is just a rube goldberg to transmit DNA, and DNA is just a protocol for encoding information, then it's quite literally information hiding too. Which is fun.

Oh, and because I like etymology more than I can stress: the word quarantine? Ultimately from an Italian word for a forty day period, which was how long ships from potentially plague-ridden places had to customarily wait outside port in Venice. Fun.