Robotic Poetics: looking down a microscope through a telescope


An Introduction to Artificial Art

This "guided tour" of robotic poetics was given at the Digital Humanities Computing Summer Institute at Victoria University, Victoria BC, June 2004. I have updated it sporadically, but it remains, like all things on the Internet, hopelessly out of date.

The three sections of this talk are (besides this introduction):

  • Web Walkabout for generative art,
  • Tools and Techniques for generating text,
  • and the generative Philosophy of automatic creation.

This website walkabout wanders briefly beyond the talk web to other websites. You will have to return to this site, browse, and experiment to make sense of much of what I have to say. (And the walk will continue as the website grows.)

Humanities computing talks tend to have a common problem, which I call looking down a microscope through a telescope. The machine permits us, or requires us, to manage extreme detail and at the same time leads us to speculate very far into the future -- to extrapolate from the small indications we have at hand to what might be. I will not avoid this problem; I will deal with the microscopic (implementation details: what character can make up a symbol in Prolog?) and the telescopic (philosophical implication: what is art?), with the hope that you can fill in the gaps later by roaming this web site.

  • This is a first attempt to add a "lab" component to my "Robotic Poetics", an article for Blackwell Companion to Digital Humanities (S. Shreibman, R. Siemens, J. Unsworth, eds): in press.

    • Un article plus ancien, en français, est au site Astrolabe: le Robot-poète: littérature et critique dans l'ère électronique.
  • Literary poetics is the science that describes for artistic artifacts what grammar does for linguistic artifacts:

    • given a certain artistic effect, describe the structures and the way they collude to produce that effect.
    • hermeneutics is the complementary literary science: a method for finding an artistic effect in the first place.(Culler)
    • Poetics has a prescriptive dimension: describe how to produce good art.
  • Robotic poetics (RP) is too new to have a clear definition. Here are a few candidates.

    • Definition 1: RP is the study of robotic authors and the automatic generation of creative texts.
    • Definition 2: RP is Humanities combinatorial studies.
    • Definition 3: RP is the poetics of virtualization and virtual text.
    • Definition 4: RP is the study of abstraction and meta processes.
    • Definition 5: RP is the study of art through the foil of mechanical art.
  • Robotic art is a more complex form of artistic creation.

    • natural art: author --> text, text2, text3...

    • robotic art: programmer ---> robotic author1, robotic author2, robotic author3, ... --> text1 (rba1), text 1 (rba2)...

    • robotic authors are kinds of texts and computer-generated texts come in swarms.

    • reader-programmer: navigates among those swarms of text.

    • There are at least two different levels of robot nature:

      • robot0 = metagrammar (control) + grammar + data + printing: i.e. robots interpret a grammar and their data and write to a medium.
      • robot1 = metagrammar (control) + grammar + data + printing + imprinting: i.e. robots collect data from the environment and merge it with their own to write on a medium.
  • The focus of this talk is on text generation, although computer-generated artistic effects are found in every medium, and pose, I believe, the same underlying questions. Language and writing have perhaps a special place in the humanities only because writing is a good metaphor for everything else.

A Brief Web Walkabout for Generated Texts

Here are some concrete examples on the web.

Metasites for automatic writing

Here are a few metasites that deal with automatic writing.

Automatic writing has been around a long time (Socrates even refers to a kind of bronze chatbot on Midas's tomb), but the French group OuLiPo (Ouvoir de Littérature Potentiel) is perhaps the first stable literary group that takes constraints and algorithms as the central feature of their creativity. Some books that are pertinent to this talk (see "Robotic Poetics" article as well):

  • Wolff, Mark. "Reading Potential: The Oulipo and the Meaning of Algorithms". DHQ 1.1, 2007
  • Lapprand, Marc. Poétique de l'Oulipo. Amsterdam: Rodopi. 1998.
  • Aarseth, Epsen J. Cybertext: Perspectives in Ergodic Literature. Baltimore: John Hopkins UP. 1997
  • Gazdar, Gerald and Chris Mellish. Natural Language Processing in PROLOG. New York: Addison-Wesley. 1989.


These texts are like card shufflers: the programmer sets up a large though limited number of possibilities among which the user can then select. These texts are closed because they are not sensitive to what the user might add in the way of data.

  • Queneau's 100,000,000,000 poems: a combinatory print text. Queneau notes that his text could never be read.
  • Mondrian (Mondrian local): combinatory art.
  • AHA! Software Inc.: automatic Romance Writer and Haiku Writer
  • Irresistible Jill: a combinatory can be defined as filling in a pattern with a set of possibilities. (We will come back to this example later....)


In these texts the set of possibilities is open because the generated text is a creative restructuring of any text that the user provides. Such text involve an interaction with the language of the user, or language of another and therefore depend on some sort of language recognition.


In these texts there is some kind of simulation of realistic human creativity by modeling not exactly a text as such, but more like the author or speaker of a text. Chatbots, or Elizas are good examples:

  • Alice (chatbot) and AIML (AI XML).
  • AI chatbot, from the A.I. movie site (same engine as Alice).

All these texts, (combinatory, potential, and virtual) are fundamentally merged texts: they merge internal data (combinatory), external data (potential), or subjectivities in dialog (virtual texts). Of course, that merging can be more or less automated:

  • The half-serious Jan's fridge door is "groupware" ("a multi-person collaborative whiteboarding environment") where subjectivities merge in collective graffiti, but the potential of that interaction is delimited by the computer.

Generative Tools and Techniques

Generation has two fundamental dimensions: implementation (display) and abstract logic (grammar). Practical programming projects that generate text must deal with those two in excruciating detail.

Programming in Prolog

I have chosen Prolog as the programming language to illustrate text generation because the search for combinations and construction of grammars are Prolog built-ins. As well, there are several Java implementations that make it much simpler to use and to distribute programs.

A Prolog Combinatory


Help information on Jlog is available under the help tab. To run the RP examples, it is (generally) sufficient to click "consult" (=compile the database in the edit window), click the Query tab, then click the query button. In some cases you will want to hit the retry button as well, to get further results.

If you make changes to the database (such as pasting in new code), it must be reset and reconsulted. Generally, you can paste copied text into the Consult window. If you can't, there are Java restrictions that are preventing it. This solution may resolve the issue (quoted from a Google search):

Place in your home directory i.e. "C:\Documents and Settings\yourname" file named .java.policy - remember about dot before word "java"

Its contents should look like this:

grant codeBase "" {
permission java.awt.AWTPermission "accessClipboard";
permission java.awt.AWTPermission "accessEventQueue";
permission java.awt.AWTPermission "showWindowWithoutWarningBanner";

This will allow you to copy text from Notepad and paste it to text field in Forms or any Java applets in this case served from

Designing and programming grammars

We are at the most microscopic: the genetic material of a robotic text --its genotype-- is the underlying grammar. Robot = control + grammar + data + printing + imprinting.

Generative Philosophy

(under construction)