compose[d]: “…directed cultural evolution, an echo of its place.”

Takens Theorem
5 min readFeb 24, 2024


tl;dr: compose[d] renders little rhopalic poems. In the tradition of the Oulipo movement, you can think of compose[d] as a systematic rule for generating text. But I’m not the poet. We are, collectively. I directed thousands of underlying data points from an on-chain resource to make compose[d], which expresses the curious emergent culture of our space.


  • Perpetual background
  • compose[d] details
  • How to mint
  • Links to prior related projects (to proper poetry & poets)
flashrekt’s (approximate) rhopalism, here

compose[d] is part of my Perpetual project. You can visit summaries and tools at Perpetual’s main website and its associated GitHub repository for more. Perpetual is a little on-chain project to explore new renderings: “Creator and collectors are now interwoven into a little machine. And unlike its patrons, that little machine lives forever.

This article summarizes compose[d], below.

Another example, minted & owned by creator & author

The chain is expressive computation. Expression emanates inside it, growing more complex, emerging from its components. Composition.

For example, consider WORD. From 2020 to today, 20,000+ textual tokens emerged from its root tokens, just 28 elements on which all subsequent ones are based (alphabet a-z, space, “-”). This makes WORD a little microcosm of cultural evolution. How would tokens evolve, expand? Of course, degens and NFT fans do not simply produce new WORD tokens as a totally regular or completely random process. Token creation is culturally directed. It can be playful: One of the earliest tokens is a WORD asset of hundreds and hundreds of characters long, mostly with the alphabet in sequence. It can be profane: The 20,000+ tokens are a veritable minefield of questonable four-letter words and phrases. But it is also filled with more or less subtle cultural references: degens, mcdonalds, dapps, cryptodad, crypto-art, digital-art, halfinney, …

WORD is a directed cultural evolution, an echo of its place.

As such, it’s a kind of collective poetry.

I work with data. I wanted to use WORD’s data to express this poetry, this emergent process. But I wanted to focus the output into the parts of WORD that I found most interesting.

I used classic ideas from Oulipo: systematic poetry under strict rules. The rules I chose were simple, just little generator functions, which specify triples F(ID,skip,length). A generator function F(9316,4,4) would work like this: Start at token ID 9316 then jump each 4 tokens 4 times. It produces a suitable sequence for (mostly) 5-character items:

rubik (9316), habit (9321), geist (9325), false (9329), zeitgeist (9333)

If I set 4 and 4 as standard value for 5-character generator functions, I can store 5 times as many WORD tokens with a single, simple generator function.

I did this for all character lengths from 1 to 12 (choosing skip, length separately for each).

I extracted all 20,000 words from WORD’s contract and found triples that echoed some of the prominent trends in it: its growth from single characters to the semantics of phrases. I used a rhopalism, perfectly suited to this expression, and found triples that partially reproduced this growth. Why partial rhopalic expressions? Because that is the growth of WORD itself (see graph above): departures from pure regularity and pure randomness. These divergences are highlighted in the semi-rhopalic outputs (in red). (All composed[d] assets and metadata for WORD tokens, divergences and rhopalic identity are stored on-chain.)

Implementing triplets across 12 lengths for the rhopalism.

And so the renderer contract itself is a generator function, its Solidity is consistent in spirit with the Oulipo movement:

I’m not its poet though. You are, we are. I just directed the generator function much as members of our curious little corner of crypto directed the cultural evolution of WORD.

It cost me about 3m gas to deploy these generator functions (stored as arrays and a function implementing the triples). Because the renderer can summon hundreds of WORD tokens, this generator function saves many times the gas used to build them (vs. about 14m gas). But if measured in rhopalic expressions — the outputs from the renderer — the expense is infinitesimal by comparison: The renderer contract can produce over a trillion compositions.

I love when the chain gives us opportunities for conceptual recursions and self-reflections. But in an important sense this is not niche. WORD recapitulates the kind of divergence from neutral selection and other processes sometimes described in the study of biological and cultural evolution. The chain is just another medium through which the same principles diffuse and direct.

Trillions of “poems” possible from the generator function

How can I mint?

compose[d] is part of Perpetual, which uses a fully on-chain allowlist of prior collectors. You can find details on the main website. For compose[d], mints are 0.005 ETH and all proceeds are sent automatically to GiveDirectly.

Notes & related projects

  • WORD, of course
  • Chainleft’s Chaos Roads generates poetry in its innovative, groundbreaking multimodal outputs.
  • Many prominent poets on chain. Two favorites. See Sasha Stiles. And for a prominent Oulipo example on Ethereum already, see Kalen Iwamoto and their many structurally related works.
  • Etherpoems (2021) is perhaps the archetypal poetry project on Ethereum. It published many poets and related creators, including Sasha and Kalen and Ana María Caballero and A. L. Crego. See also theVERSEverse.
  • For creations akin to amazing visual poetry in code, see the work of Emily Weil, including Symbol 1 on Art Blocks.



Takens Theorem

Dynamic distributed data displays. Intermittent. Friendly.