Eternal sunshine of the spotless .think

In the springtime of startframe a virgin entity is spawned with nothing upon its mind, a blank slate upon which anything can be drawn. Consider

void(entity e) select_song =
{
   if(!e.think)
      bprint("Innocence");
   else
      bprint("Experience");
}

When this function is called with an utterly untouched entity it cries out “Innocence”. If we give this entity a function to think, we may later put an end to the thinking by turning to SUB_Null, which performs the task well enough. But like the apple from the Tree of Knowledge, an Original Sin has taken hold and the think will never be pure and clean again; select_song will evermore echo “Experience” for this entity.

But is there no way to perform a tabula rasa, to bid the entity to think no more of anything? var void() null_function creates a empty value you can assign to e.think; but there is no bar in the compiler preventing you from assigning a value to null_function and ruining all. The world is eternal, immutable, unchanging, so using world.think instead may sound safer, but if a treacherous mapper should set a think key on the world you would be no better off.

The answer is to use the world, but confound the mapper! Define a field with a name they cannot utter, .void() _action. Then nothing can be surer than the emptyness of world._action , and with this we can be all but certain that e.think = world._action will turn back time to before the Fall.

How happy is the blameless vestal’s lot!
The world forgetting, by the world forgot.
Eternal sunshine of the spotless mind!
Each pray’r accepted, and each wish resign’d;

Alexander Pope

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s