Middle English Word of the Moment

Tuesday, February 15, 2011

Elegies in Binary

A little cheeky of me, perhaps; but I was reading Lukacs' Theory of the Novel (trans. Anna Bostock, London: Merlin Press, 1963), and felt that his writing was best answered in a medium that can respond fully to his binary worldview. And therefore...



Mr. Lukacs,
I couldn't help but notice that your code seemed a little faulty, and was throwing up some awkward errors in unexpected places.  I have taken the liberty of extracting the source code and reading through it, and believe I have located some of its weak points.

Your first problem is a simple typo.  On line [page] 30 you have written:


if(epic = "homer")

rather than


if(epic == "homer")

["... no one has ever equalled Homer, nor even approached him - for, strictly speaking, his works alone are epics..." (30)]

As you know, of course, if(epic == "homer") reads 'if the value of the variable epic is equal to the string "homer", while epic = "homer" sets the value of epic to "homer". One considers the current value, the other defines a new one.  This holds true even within an 'if' expression, so in checking the value, you appear to have inadvertently set it to have that and always that value from that line on.  This, of course, greatly reduces the flexibility of your code later.

I do recognise that this part of your code has been copy/pasted from that of Webmeister Hegel; but even great coders can make typos, and once you incorporate them into your own work you take responsibility for them.

Secondly, in this same early stage, you seem to fall into the trap of setting up all your arrays in simple binary form, so that you end up with a series of arrays with only two elements each.  Eg, ({"world", "self"}), ({answer, question}), ({"wholeness", "fragmentation"}), ({"interior", "exterior"}), ({"Greeks", "us"}), ({epic, novel}), ({old, modern}).  There is, of course, nothing wrong with this in itself; but arrays can support more than two elements at a time, Mr Lukacs, and some of the situations you consider could do with more than a simple choice between 0 and 1.

Moreover, I feel that you do not need quite so many arrays as you have here.  The first elements of all the arrays I have noted above are all almost synonymous with each other, defined only against the second element, their relationship to each other left barely coherent. Perhaps you could use fewer arrays if you clarified these relationships?

For example, you elide "Greeks" with "Homer", and "Homer's world" with "the Greek world", and "Homer" with "epic" (although see above).  However, you also consider "Plato" and "Greek tragedy" as an indistinguishable part of this Greek world, particularly in your opening chapter, which overloads your definition of "epic" to the point of meaninglessness, at least insofar as it may be used to define a genre.

Perhaps "epic" should be an array instead of a variable?

The same determination to reduce all your code into binary also leads you to this declaration:

if(year < modernity) { genre = "epic"; }
else { genre = "novel"; }


["... the epic had to disappear and yield its place to an entirely new form: the novel." (41)]

Now, given you have defined what precedes modernity only as "Greek", and the true epic only as "Homer", this does seem to leap somewhat precipitously over the intervening years. Dante is by no means the only tripwire between these two trees; and though you do strive to accommodate him, he cannot ultimately be fully reconciled with your argument, as you never quite redeclare the array ({"epic", "novel"}) to include a third element, "dante".

Of course, if you were to include a third element, you would be obliged to add exceptions in every other instance where you have assumed that the array has only two elements.  You would also need to master not only the if/else structure, but the if/else if/else.  For example, if we allow "dante" to stand as the name of the genre for now:


if(year < mediaeval) { genre = "epic"; }
else if(year < modernity && year > mediaeval) { genre = "dante"; }
else { genre = "novel"; }

However, this will quickly become messy if you want to add more exceptions, and is ultimately an extended form of binary. May I suggest instead the use of switch(), into which you can incorporate as many gradations along a continuum as you like?  Eg (assuming year is a number):

switch(year) {
    case ..-500:  # Less than or equal to -500
       period = "pre-classical";
    break;
    case -501..0:  # Between -501 and 0
       period = "classical";
    break;    
    case 1..500: 
       genre = "late classical";
    break;    
    case 501..1500: 
       genre = "mediaeval";
    break;    
    case 1501..1800: 
       genre = "early modern";
    break;    
    case 1801..: # Greater than or equal to 1801.
       genre = "modern";
    break;    
}

And so forth. You might also consider using strings instead of ints, for a little more subtlety and complexity.  Instead of providing simply for -500..0, 1501..1800, and so on, you could instead consider tragedy, comedy, history, pastoral, pastoral-comical, historical-pastoral, tragical-historical, tragical-comical-historical-pastoral, scene individable, and poem unlimited.  And of course, you may also define a default case for those works that just refuse to fit in anywhere else.

Now of course, the basic assumption and assertion behind binary is that 1 != 0 and 0 != 1.  There is a fundamental and unbridgeable gap between them.  Your "modernity" is, accordingly, defined by the fact that is is not "the age of the epic": although these never appear in the same array, they appear to be your ultimate 1 and 0. Your opening paean makes it clear that your world, your modernity, is defined not only by the separation of interior from exterior, of the world from meaning, but by a longing for a state in which this separation did not exist - in which there was only 0, not 1 - which you call the time of the epic.

It follows, therefore, that you would create this 0 if it did not already exist; that it is very likely modernity, feeling this lack in itself, would try to create it somewhere - in the past, if nowhere else.  Feeling your wholeness fragmented, you have created an inaccessible whole, and simultaneously pushed it back behind an unbridgeable gap of time.  If 0 did not exist, you would invent it, and it would tell us little about Homer and his work and a good deal about you.

Personally, I like the number 6.  It brightens the place up.