Executed Poetry

Zeroichi Arakawa

Executed Poetry Device

Executed Poetry is a device that runs code-poems and displays their fleeting traces.

When the button is pressed, a short poem written in Python is executed inside the microcontroller. On the e-paper display, the executed poem appears together with its execution count, processing time, and the microcontroller's unique public key and signature. These serve as cryptographic proof that the poem was indeed executed on that machine.

The included poems use Python's primitive features to explore philosophical themes such as existence, eternity, and nothingness. One begins an infinite loop only to end it instantly; another defines and deletes a class that never truly exists; yet another returns itself while simultaneously negating itself. In just a few lines, the code oscillates on the boundary between computation and philosophy.

Poems are no longer merely read—they are executed. What we witness are the traces of execution, the epitaphs engraved by the machine itself.

Exhibited at "Computational Poetry" exhibition, NEORT++ Gallery, Tokyo, 2025

Count the mornings. One for each window. Until light is born.

Zeroichi Arakawa

def count(windows):
    for window in windows:
        if morning in window:
            with window:
                yield ...
micropython:1.26.0 | Raspberry Pi Pico W | 2025-09-15 09:25:45 UTC

A function containing `yield` does not execute everything at once, but returns values little by little each time `next()` is called. `...` is a special object called `Ellipsis`. As it goes through windows, when morning is included, it is returned. However, how it is used depends on the caller. `with window:` is syntax that ensures the window is opened and then always closed.

In this poem, the act of counting is depicted not as showing a final answer, but as a repeated activity that continues along with the action of opening and closing windows. That repetition continues as time waiting for light.

`yield` を含む関数は、一度にすべてを実行せず、`next()` が呼ばれるたびに少しずつ値を返します。`...` は `Ellipsis`(省略)と呼ばれる特別なオブジェクトです。窓をめぐり、朝を含むとき、それが返されます。ただし、それがどう使われるかは呼び出し元に依存します。`with window:` は、窓が開けられ、そして必ず閉じられることを保証する構文です。

この詩では、数えるという行為が、最終的な答えを示すことではなく、窓を開き閉じる動作とともに繰り返される営みとして描かれています。その反復は、光を待つ時間として続いていきます。

Make a box for remembering you. Each time you look inside, I become you.

Zeroichi Arakawa

def existence():
    me = "I"
    def remember(you):
        nonlocal me
        me = you
    return me
micropython:1.26.0 | Raspberry Pi Pico W | 2025-09-15 09:36:01 UTC

The inner function `remember` can rewrite the outer variable `me` through `nonlocal`. When this function is called, I change into you. However, that function cannot be directly touched from the outside.

This poem reflects the boundary between self and other. The assignment that cannot be touched simultaneously embraces both the impossibility of understanding the other and a faint possibility.

内部関数 `remember` は、`nonlocal` によって外側の変数 `me` を書き換えることができます。この関数が呼ばれると、私はあなたへと変わります。しかし、その関数には外から直接触れることができません。

この詩は、自己と他者の境界を映し出します。触れることのできない代入は、他者を理解することの不可能性と、かすかな可能性とを同時に抱えています。

Touch eternity, and immediately let go.

Zeroichi Arakawa

while True:
    break
micropython:1.26.0 | Raspberry Pi Pico W | 2025-09-15 14:46:11 UTC

`while True:` begins an infinite loop. In Python, `True` is a condition that remains true forever. However, the `break` statement executed at the beginning of the loop body causes the control flow to immediately exit the loop. Here lies an eternity that never cycles even once.

In reality, no program that runs forever exists on actual computers. Perhaps eternity is something that can only be "declared."

`while True:` は無限ループを開始します。Python において `True` は永遠に真となる条件です。しかし、ループ本体の最初で実行される `break` 文により、制御フローは即座にループを脱出します。一度も巡ることのない永遠がここにあります。

実際のコンピュータで永遠に実行されるプログラムは存在しません。永遠というものは「宣言」することしかできないのかもしれません。

Draw the outline of "nothing". Do not try to fill it.

Zeroichi Arakawa

class Void:
    pass
del Void
micropython:1.26.0 | Raspberry Pi Pico W | 2025-09-15 09:52:26 UTC

`class Void:` draws the outline of an empty class. `pass` is Python syntax that explicitly declares doing nothing—leaving the outline unfilled. Then `del Void` erases the outline that was just drawn. Draw the outline of void (`Void`) and immediately erase it. However, in Python, `del` only removes the name, not the object itself. If something else references that class, `Void` continues to exist while losing its name.

Through this poem, we can contemplate what nothingness is. Can we draw the outline of nothingness without filling it? Is nameless void nothingness? Or does it continue to drift somewhere as an existence without a name?

`class Void:` で空のクラスを定義します。`pass` は何もしないことを明示的に宣言する Python の構文です。そして `del Void` により、作ったばかりのクラスを削除します。空虚(`Void`)を定義して、すぐに消す。しかし Python において `del` は名前を消すだけで、オブジェクトそのものを消すわけではありません。もし他の何かがそのクラスを参照していれば、`Void` は名前を失ったまま存在し続けます。

この詩を通して、無とは何なのかを考えることができます。無を定義することはできるのか。名前を失った空虚は、無なのか。それとも、名前を持たない存在として、どこかに漂い続けるのか。

Whisper to a mirror that you are not there. Until it fogs over.

Zeroichi Arakawa

class Mirror:
    def reflect(self):
        try:
            assert not self
        finally:
            return self
micropython:1.26.0 | Raspberry Pi Pico W | 2025-09-15 09:56:14 UTC

This code represents whispering "I am not here" to a mirror over and over. `assert` is syntax that confirms a condition is true, and raises an `AssertionError` if false. `assert not self` claims the absence of self, but since objects evaluate as true in Python, this assertion always fails. However, the `finally` clause always executes, even when an error occurs. The error is silently swallowed, and the mirror continues to return `self` unchanged. Each method call repeats the same denial and the same failure.

Does this repetition leave some trace, like fogging a mirror by continuously breathing on it? The program's exception handling mechanism enables the paradox of self-denial. Insisting on non-existence while the very assertion itself becomes proof of existence. Here lies a contradictory mirror that continues to function normally while perpetually generating errors.

このコードは、鏡に向かって「自分はここにいない」と囁き続けるというものです。`assert` は条件が真であることを確認する構文で、偽の場合は `AssertionError` が発生します。`assert not self` は自己の不在を主張しますが、Python においてオブジェクトは真値として評価されるため、この断言は必ず失敗します。しかし `finally` 節は、エラーが発生しても必ず実行されます。エラーは静かに飲み込まれ、鏡は変わらず `self` を返し続けます。メソッドを呼ぶたびに、同じ否定と同じ失敗が繰り返されます。

この反復は、息を吹きかけ続けることで鏡が曇るように、何かの痕跡を残すのでしょうか。プログラムの例外処理機構が、自己否定のパラドックスを可能にします。存在しないと言い張りながら、その主張自体が存在の証明となる。エラーを生み続けながら正常に動作し続ける、矛盾に満ちた鏡がここにあります。

If your heart is empty, borrow love from the universe.

Zeroichi Arakawa

heart = set()
try:
    import love
except Exception as love:
    heart.add(love)
micropython:1.26.0 | Raspberry Pi Pico W | 2025-09-15 09:58:35 UTC

`heart` is defined as an empty set. Attempting to import the nonexistent `love` module will inevitably raise an `ImportError`. However, this error is caught by `as love` and added to the heart under the name of love.

When trying to borrow love from the universe, what comes back is an error message saying "not found." Yet, that too is a response. The empty heart becomes filled with something in the form of failure.

空の集合として定義された `heart`。存在しない `love` モジュールをインポートしようとすると、必ず `ImportError` が発生します。しかし、このエラーは `as love` によって愛という名前で捕らえられ、心に追加されます。

宇宙から愛を借りようとしたら、返ってきたのは「見つかりません」というエラーメッセージ。しかし、それも一つの応答。空っぽの心は、失敗という形の何かで満たされていきます。