Poetry in Execution

We have detected that you are using AdBlock.

This is fine with me. I just like showing off with my website design.

Is this some kind of joke?

That is an odd question to open with, but no. The interpreter works, the example programs work, and it is indeed possible to write your own programs. Whether or not you would want to is an entirely different story.

Why does this exist?

This programming language is partly inspired by brainf*** by Urban Müller, which is an esoteric programming language (or esolang) that, despite having only 8 instructions, is Turing-complete (able to compute anything that is computable, given enough time and memory). The idea behind Poetic is a hybrid of brainf*** and Pilish, which describes a way of writing in which the lengths of words follow the digits of the number pi.

How do I write and run these poems/programs?

I have created a Python interpreter for Poetic. You can download it on the Download page, and you can run it on your favorite terminal using something similar to this:

poetic.py [ -i input-file ] [ -w ] poetic-program

poetic-program is the program file which you want to run as Poetic code. (It can have any extension, though .ptc is recommended.)

The options are optional, but if included, they do the following:

-i / --input
Take input from a specified file, instead of STDIN.
-w / --wimpmode
Interpret program in wimpmode (programs are a series of numbers, instead of words).

As for writing them, consult the tutorial for guidance on how to intentionally write working programs. (Or, perhaps you can try "running" a piece of regular poetry, and seeing what happens!)

Who's the weirdo that made this?

Okay, first off: that's rude.

This was made by Josiah Winslow, who, for the second time, decided that the easiest way to create website content for a web development class assignment would be to make a complete programming language. The professor who assigned this project was Jonathan Meersman, so he is partly to blame here as well.

Why do the poems seem so strange?

Such is the nature of fitting words in a natural language to certain lengths. Also, part of the objective of Poetic is to have its programs look like abstract poetry, which is extremely difficult to analyse.

Poetic programs are too hard to write!

I understand! It's not always easy to write compelling literature and have it execute as code. This is why I added an option to the Python interpreter that makes it easier to write functioning programs. If you run the interpreter like this on your favorite terminal:

poetic.py -w poetic-program

...then the poetic-program file will be interpreted as the literal digits in the file, instead of converting from the lengths of its words.

Are there any practical uses for Poetic?

I sure hope not.