welcome to www.haikumachine.

www.haikumachine is a web interface to haikumachine (hm), a software executable and database that writes haiku.

haiku is here defined rather broadly as a 'poetic' form consisting of some number of lines of text with a total of 0-99 letters--this format should be sufficient to include traditional haiku (roughly, 3 lines of 17 total syllables) as well as many (obviously) that don't fit the traditional form.

hm works by first creating a haiku with an extremely simple algorithm, then saving this piece into a large database and assigning it an index number between 1 and 41^99. working from fall 1994 through spring 1997, hm has created, archived and indexed every possible haiku-combination of the characters


thereby writing every possible case-insensitive haiku in english, french, italian, spanish, german, greek, hebrew, russian, navaho, japanese, chinese, hindi (etc.)--every language that uses the latin alphabet or can be reasonably well transliterated from it. in fact, hm has written every possible haiku in thousands of languages that haven't yet been invented or used, not to mention all the works it's written that probably wouldn't be called 'haiku'.

this is clearly far too many haiku to be displayed on paper and stored in a library, so www.haikumachine was created to give the public access to the pieces hm has written. it can be used to access hm's database in three different ways:

one) real-time lookup

this process is analgous to looking up a haiku in a huge library. imagine that they are ordered alphabetically, so to see if a certain piece is in the library you might go first to the section for the first letter of your haiku, then gradually negotiate the ordering scheme, traveling to smaller and more precise sections. for instance, if you wanted to see if

small cranes wander
in oily water

was in the library, you would go first to the "s" section, then within it to the "sm" section, then closer to the "sma" section ... eventually you would find the volume that might contain your poem and search alphabetically through the pages to find the space where it should appear.

the real-time lookup is exactly like this, only much faster, and with less walking. after you type each character of your haiku, this interface searches the hm database until it finds the corresponding section. if found, it will display the characters entered so far, which are also the characters which define the section it will search for the next letter entered. once you find a complete haiku in the hm database, the interface will display the poem's index number for future reference.

two) complete-text lookup

this process is analgous to having someone else do the above library process, giving them complete text of a haiku and asking them to go through the lookup process, then present you with a xerox copy of the library version of the poem you were searching for. all you have to do is enter a complete haiku--this interface will look it up, then display the complete text and an index number if it is found in the database.

three) index-number lookup

this process is useful if you want to see a haiku you've looked up before with one of the other methods, or if you just want to see the haiku indexed in the database with a certain number. it is analgous to finding a book in a library by using a call number. just enter the index number, and the interface will search the hm database and return the text of the haiku so numbered.

some famous haiku and where they are indexed in the database:


haikumachine and www.haikumachine were conceived and executed by brent emerson.