Lisp, Satan, and the Americans with Disabilities Act
Or how a big blue button demonstrates that data is code and code is data.
I was walking to my office at work the other day when I overheard two students discussing the big blue "ADA assistance" button at the bottom of the stairwell I was passing at that moment. The button is important because the building I work in is an old one - decrepit and historically important at the same time - so accessibility is an unresolved issue. To make a long story short, the building cannot be torn down because it is old and decrepit, but it is decrepit and without improvements (such as elevators for those who cannot easily climb stairs) because it is not considered "worth" the effort to fix and/or modify. Yet, important services such as the issuance of university ID cards and financial aid are located in this old building where any department is at least a half-flight of stairs away, forcing nearly every student to trudge through its antiquated labyrinth.
Thus the need for the big blue button. When someone who cannot ascend or descend stairs alone arrives, they push the "ADA" button and help is on the way. Let's just skip the more obvious problems with this process and get to the one of note for this discussion: in order to press the button, one must be an "ADA". Here is where the discussion started, since one of the young ladies mentioned was attempting to determine whether she needed to press that shiny blue button - what was an ADA and whether this was merely some sort of doorbell or yet another quirk of the stepped-up national security. You see, she didn't really get what an ADA was because there isn't really such a notion as "being" an ADA, unless one is considering an anthropomorphized view of a legislative act. There is something more here: to arrive at her quandary one must (at some level) define someone's needs, if not their identity, through the legislation forged to assist them. Ponder that one. Her issue, in particular, was that she was unable to resolve the situation: here was a button for certain services that she required, but to push it one must be an ADA. She was more than likely familiar with the ADA (at least in a general sense), but was obviously confused as to whether this notice referred to THAT ADA, or some other ADA more descriptive of her condition. It seems that the sign could have simply read, "If you are in need of assistance," since I doubt that the person who arrives to help the button-pusher checks to see whether the ADA applies to the individual before proceeding. And here is a clear example of someone who required assistance, if not for the reasons outlined in the ADA. Hmmm. Somewhere in there we nearly tangled up our nouns and our verbs, our data and its execution. Fortunately, we simply transposed our nouns, providing a separate CDR for our CAR (in Lisp-speak) but following the same model.
Somewhere along the way in the past few days, I found myself describing a novel I read years ago, Satan: His Psychotherapy and Cure by the Unfortunate Dr. Kassler, J.S.P.S.. Jeremy Leven must have encountered a biography of the computing pioneer, John Von Neumann, since his character Leo Szlyck bears some slight resemblance. Perhaps it is coincidence, but when Leo sees railway signs transform into the circuit diagrams used to construct a computer - and ultimately "reconstruct" Satan - I was reminded of the stories of Von Neumann's meditations. Read the book, it will bend your mind a bit. Anyway, here the (to totally destroy a reading of McLuhan) medium is the message - or maybe just the transport. It is through the careful manipulation of structures (largely, influencing Szlych) that Satan is able to re-emerge, and through these same structures he is able to manipulate Dr. Kassler (J.S.P.S., or just some poor soul). Thought becomes substance, and substance becomes thought - but isn't that the same as saying code is data, data is code? Moreover, what is Satan at this point (in the novel)? Is he alive, is he thought, is he code? While Leven leans the reader in a certain direction (in that Satan isn't bounded by the confines of the machine), there is a heavy reliance upon slippery (loosely typed) nouns. Satan is in fact manifested (in one form) through the physical circuits, but also through various events (or functions, at least through implication).
So what do these things have in common? Lisp. Well, not Lisp necessarily, or even directly, but there is a notion behind s-expressions (the core concept of Lisp) that drives the hideous aspects of the ADA button and Leo Szlyck's creation alike. That notion is that code is data. That notion is that data is code. One of the tricks to understanding Lisp (if not life) is leveraging the slippery nature of things/objects/atoms/however-you-wish-to-discern-the-common-mote. Lisp is one of many programming languages that takes advantage of the fact that functions can become data and vice-versa. Yet our everyday, natural languages allow this sort of usage all the time. Some languages are more forgiving than others, and perhaps (depending upon one's acceptance of Sapir-Whorf) our mental constructs as well, but it seems that Lisp is more natural-language like in (at least) this respect.
So what of blue buttons and Satan(s) (after all, there is still a Microsoft AND automated check-out at Wal-Mart)? Can they be explained as a failure to understand the transitive implications of the s-expression? Probably not. In both cases (the girl pondering the ADA button and Kassler battling Satan), the main issue is an inability to recognize something outside of its familiar (internal and self-constructed) cage. Nonetheless, I think that the sexp (s-expression) is an interesting way to consider these little quirks. And while the sexp doesn't necessarily mean data is code and vice-versa, it does allow such a broad treatment of both events and things.