An Algebraic Sketch of Poetic Form

Let’s take a standard, classical haiku:

furu ike ya
kawazu tobikomu
mizu no oto1

Matsuo Bashō

There are a few formal characteristics that make a haiku. We’ll focus on the most famous one: its moraic structure2, the counting of 5, 7, 5 morae, respectively, in the three lines of the poem.

By way of comparison, let’s look at another famous stanza, from Dante:

Nel mezzo del cammin di nostra vita
mi ritrovai per una selva oscura,
ché la diritta via era smarrita.3

—Dante Alighieri, Divina Commedia

A little less famously: the Commedia is in the terza rima form. Each of its stanzas has the above shape: three lines in an ABA rhyme scheme. Each stanza takes the previous stanza’s B as its A.


These are two examples of poetry coming from entirely different traditions, languages, times and places. Nevertheless, because they are poetry4, they’re conventionally divided into well-defined lines, and each example is written in a particular, well-defined poetic form5. In every case, we can define some form that encapsulates all the constraints that the poem has to follow—all of the formal characteristics that must be true about any line in the poem—in order for the poem to be said to be in the form.

If we’re interested in poetry—particularly if we’re interested in writing poetry—we might find it useful to think of these disparate poetic forms as objects unto themselves, and further, not only as particular cultural artifacts, arising from of the practices of particular communities—which they are—but also as examples of the same type of thing: objects that have the same shape, though they differ in the details.


Intuitively, we might already see that the haiku and the stanza of Dante have certain structural qualities in common. For one thing, they are both of exactly three lines, and in order to conform to their respective forms, can only be of three lines. They are both tercets.

The haiku’s morae go 5, 7, 5. The Dante’s line endings go ita, ura, ita. If our respective forms consist partially in their structures then they also include some mechanic, so to speak: some attribute that we extract from a line and compare against the pattern prescribed by the form in question. In the case of the Bashō that’s the number of morae in a line; in the case of the Dante that’s the ending sound of a line.

For any poetic stanza, the combination of:

encapsulates an important structural view of the poetic form.

“Furu ike ya”:

$$( \text{the number of morae in a line}, \langle 5, 7, 5 \rangle )$$

“Nel mezzo del cammin”:

$$( \text{the ending sound of a line}, \langle \mathrm{ita}, \mathrm{ura}, \mathrm{ita} \rangle )$$

The patterns, or structural components of these two stanzas—the second half of each of the above pairs—have more in common than the fact that each one has three items in it. 5, 7, 5 and ita, ura, ita are different types of things—one is a sequence of numbers, and the other is a sequence of sounds—but they share a structural pattern: the first and third elements are alike in some particular respect, and different from the second.

So they aren’t just tercets: they’re enclosed tercets, where they both obey some underlying structure that is shaped ABA.

Here too, the ABA shape of each stanza isn’t incidental; it’s essential to the stanza’s respective form. It’s part of the structure that the stanza must exhibit in order to be a well-formed example of its form.


The first, maybe trivial observation: the set of enclosed tercets is a proper subset of the set of tercets.


Let’s generalize slightly. We’ve been describing two examples of two poetic forms; now let’s talk about the poetic forms themselves.

We can generalize the structural quality of “furu ike ya” to all haiku. The Bashō exhibits a 5, 7, 5 structure because all haiku must.

On the other hand, the Dante’s line endings are merely particular cases of the form of a terza rima stanza. The terza rima stanza doesn’t consist in any particular line endings; it only consists in that the first and third line ending are the same, and different from the second.

So, to generalize from “Nel mezzo del cammin” we have to replace the particular ita, ura sounds with placeholders that can be used to answer the question of equivalence between any two arbitrary sounds.

Haiku:

$$( \text{the number of morae in a line}, \langle 5, 7, 5 \rangle )$$

Terza Rima:

$$( \text{the ending sound of a line}, ABA )$$

We can reflect the distinction between the two forms graphically: the structural element of the terza rima is more general—it’s one level of abstraction higher than that of the haiku.

\begin{equation} \begin{CD} \text{terza rima} @>\text{number of morae}>> x \\ @A\text{generalize structure}AA @AA\text{generalize structure}A \\ \text{``Nel mezzo del cammin''} @<<\text{line ending}< \text{haiku} \end{CD} \end{equation}

The diagram prompts our second, more useful observation: we can imagine a poetic form that’s like a haiku, but where the concrete values 5, 7, 5 have been replaced by placeholder values. Call it a semihaiku:

$$( \text{the number of morae in a line}, ABA )$$

This fills out the diagram:

\begin{equation} \begin{CD} \text{terza rima} @>>> \text{semihaiku} \\ @AAA @AAA \\ \text{``Nel mezzo del cammin''} @<<< \text{haiku} \end{CD} \end{equation}

We might find particularly poignant those semihaiku that are written in lines of 13, 6, 13. Or 10, 13, 10. And so on.


In short: we might find that poetic forms admit a certain informal formalization as algebraic structures. We won’t try to prove that they are “actually” algebraic structures; but we’ll see if depicting the rules that people use to write poetry as combinations of sets with some operations can point towards new possibilities.

We can employ some mathematical techniques to explore a few of these possibilities—particularly some mathematical notion6. Such a notation, which has the disadvantage of being unfamiliar and possibly forbidding, is a terse way of expressing relationships between objects that would otherwise be laborious to write out in English and, in the writing-out, would engender much ambiguity.


Up to now we’ve treated “Nel mezzo del cammin” in isolation; in fact, it’s the first stanza of a longer work, and the terza rima form doesn’t describe an individual stanza: it describes a series of linked stanzas.

We’ve described the terza rima structure as ABA. Actually, it’s more complicated. We can describe it as a recursive function7 \( \sigma_{tr} \) which takes the ordinal \( n \) as its argument.

\begin{equation} \begin{split} \sigma_{tr}(n) &= \sigma(n-1)_2, A, \sigma(n-1)_2 \\ \sigma_{tr}(1) &= A, B, A \end{split} \end{equation}

Our third observation: just as replacing the structural element of the haiku form with the structural element of the enclosed tercet gives us the novel semihaiku form, we can imagine a form consisting of linked semihaiku:

$$( \text{the number of morae in a line}, \sigma_{tr} )$$

One imagines a new translation of the commedia into Japanese.


The recursive nature of \( \sigma_{tr} \) is a useful complication to understand. That said, in the general case we can talk about the structural component \( \sigma \) of some poetic form as a tuple of structural attributes, instead of a function that goes to such a tuple.


Let’s generalize further. The phrases \(\text{the number of morae in a line}\) and \(\text{the ending sound of a line}\) are both particular kinds of lenses onto a line of poetry, both of which describe the particular attribute with respect to which the line is evaluated. We can formalize this kind of lens as a function \( \rho \):

$$\rho : \mathbb{L} \to S $$

Where \( \mathbb{L} \) is the set of all lines of poetry, and \( S \) is some set of individual structural attributes. In our examples, \( \mathrm{Sound} \) (the set of all sounds) is a possible value for \( S \) and \( \mathrm{Number} \) (\( \N \), the set of natural numbers) is a possible value for \( S \).

In this framing: traditional, Western poetry, which defines the structural relationship between poetic lines as deriving from the equivalence of their ending sounds (“rhyme”), operates by applying a particular lens to a line. That lens is one particular instance of \( \rho \), which we can give the name \( \rho_{rh} \):

\begin{equation} \begin{split} \rho_{rh}(l) = \text{the ending sound of } l \end{split} \end{equation}

Our fourth observation—maybe a trivial one, or maybe a very important one: the set of possible values for \( S \)—of possible sets from which to draw the elements of the structural component of a poetic form—is infinite and we can spend as much time as we like thinking of new ones, as long as we can construct some \( \rho \) that can produce them. For instance:

\begin{equation} \begin{split} \rho_{nl}(l) &= \text{the number of letters in } l \\ \rho_{cv}(l) &= \text{the most common vowel in } l \\ \rho_{c}(l) &= \text{the subjectively-experienced color of the most vividly-colored word in } l \\ &\text{etc.} \end{split} \end{equation}

Our fifth observation: we now have enough formal apparatus to consider another kind of relationship between different forms. We may observe that multiple—indeed, infinite—functions \( \rho \) can be invented that go to the same set \( S \). To take an example, the function \( \text{the number of morae in a line} \)—call it \( \rho_h \)—goes to the natural numbers \( \N \) (thus is its structural component, \( \sigma_h \) or \( \langle 5, 7, 5 \rangle \), a 3-tuple of \( \N \)).

\begin{equation} \begin{align*} & \rho_h &&= \text{the number of morae in a line} &&: \mathbb{L} \to \mathbb{N} \\ & \sigma_h &&= \langle 5, 7, 5 \rangle &&: \langle \mathbb{N}, \mathbb{N}, \mathbb{N} \rangle \end{align*} \end{equation}

Above, we created a new poetic form, the semihaiku, by importing the more general ABA scheme from the terza rima into the haiku. We can generate new forms also by reusing \( \sigma_h \) with other functions \( \rho \) that also go to the natural numbers.

Hopkinssprung rhythm operates by dividing lines into feet of a single stressed syllable and any number of unstressed syllables (this is in contrast to classical meter, which categorizes feet by the number and arrangement of stressed and unstressed syllables). For a poem written in sprung rhythm to be well-formed, every line has to contain a prescribed number of feet. We can easily imagine a function

\begin{equation} \begin{align*} & \rho_{sp}(l) &&= \text{the number of stressed syllables in } l &&: \mathbb{L} \to \mathbb{N} \\ \end{align*} \end{equation}

And use that to construct the sprung haiku89:

$$( \rho_{sp}, \sigma_h )$$


Let’s generalize the notion of rhyme. We already often use the word in a metaphorical or extended sense: two things rhyme if they are alike, or equivalent, according to some given attribute projection.

We can define rhyme as a relation \( \sim \) with respect to some \( \rho \). In many cases, this can be understood as a simple equivalence relation. To characterize the type of rhyme employed in most Western rhyming poetry, for instance, we can say

\begin{equation} \begin{split} \forall l, l' \in \mathbb{L} : l \sim l' \iff \rho_{rh}(l) = \rho_{rh}(l') \end{split} \end{equation}

That is, that two lines rhyme if and only if their end-sounds are the same (for sufficiently nuanced definitions of “end-sound” that capture things like the position of the last stressed syllable, etc).

Thus we give slightly more rigor to an intuition that we might already have; and we give ourselves a useful piece of general terminology when describing any poetic form. The first and third lines of the enclosed tercet rhyme by equivalence under \( \rho_{rh} \); the first and third lines of a haiku rhyme by equivalence under \( \rho_h \), and so on.


Our sixth observation: equivalence is a useful and simple relation between members of the codomain of \( \rho \), but just as we can imagine new sets \( S \) and new functions \( \rho \) to generate them, we can imagine infinitely many binary rhyming relations:

\begin{equation} \begin{split} s \sim s' &\iff \# s = \# s' \\ s \sim s' &\iff s ∩ s' \neq \emptyset \\ s \sim s' &\iff s + s' \text{ is odd} \\ &\text{etc.} \end{split} \end{equation}

Let’s assemble a provisional formalization. A poetic form \( \phi \) is a structure:

\begin{equation} \begin{split} &( S, \rho, \sigma, \sim ) \\ \text{where} \\ S &\text{ is a set} \\ \rho &: \mathbb{L} \to S \\ \sigma &: \langle S \rangle \\ \sim &: (S \times S) \to \mathbb{B} \end{split} \end{equation}

Given that structure, we can say that a poem \( p \) consisting of lines \( \langle l_1, l_2, \ldots l_n \rangle \) is correct under \( \phi \) if and only if

$$\forall l_n \in p : \rho(l_n) \sim \sigma_n$$

Or, in plain language, a poetic form consists of:


As a good Modern, I’ve always been a little uncomfortable with traditional rhyme in English poetry, and I’ve always been interested in alternatives.

One such alternative model is the old Germanic tradition, which operated on the alliterative principle. The details vary over time and place, and involve things like half-lines with caesuras, but the core of the form, understood through some of the terminology we’ve developed, is a rhyme relation \( \sim_{a} \) that checks for equivalence between the initial sounds (or onsets) of stressed syllables. In other words:

\begin{equation} \begin{align*} \rho_a(w) &= \text{the onset of the stressed syllable of } w &&: \mathbb{L} \to \mathrm{Onset} \\ w \sim_a w' &\iff \rho_a(w) = \rho_a(w') \end{align*} \end{equation}

Traditionally these rhyme schemes tend to operate within a single line, comparing one word with another. We can lift this relation up to the line level by lifting the word-wise function \( \rho_a \) to a line-wise function \( \rho_{al} \):

\begin{equation} \begin{align*} \rho_{al}(l) &= \{\, \rho_a(w) \mid w \text{ is stressed in } l \,\} &&: \mathbb{L} \to \{ \mathrm{Onset} \} \end{align*} \end{equation}

That is: to define a \( \rho \) that produces the set of the stressed syllables in the stressed words in a line of poetry.

Working with sets also gives us more options when defining our \( \sim_{al} \). We can stick with equivalence—lines rhyme if all the stressed syllables in both lines begin with the exact same sounds—but we can also loosen the constraint by using, for instance, the relation mentioned above:

\begin{equation} \begin{split} s \sim_{al} s' \iff s ∩ s' \neq \emptyset \end{split} \end{equation}

That is, lines rhyme if they share at least one stressed-word-onset in common11.

The reappearance of stressed syllables naturally puts us back in mind of sprung rhythm. Let’s define a form that applies the structural 5, 7, 5 value of haiku to sprung rhythm and layers on a line-oriented alliteration in the old Germanic style, with the rhyme scheme (under alliteration) of the enclosed tercet.

\begin{equation} \begin{split} \phi &= ( S, \rho, \sigma, \sim ) \\ \text{where} \\ S &= \langle \{\mathrm{Onset}\}, \N \rangle \\ \rho(l) &= \langle \rho_{al}(l), \rho_{sp}(l) \rangle \\ \sigma &= \langle \langle A, 5 \rangle, \langle B, 7 \rangle, \langle A, 5 \rangle \rangle \\ \langle s_1, s_2 \rangle \sim \langle s_1', s_2' \rangle &\iff s_1 \sim_{al} s_1' \land s_2 = s_2' \end{split} \end{equation}

I’ve written an instance of this enclosed alliterative sprung haiku:

This week the sky has been low over our heads indeed;
we walk back from the movies after the rain and this little neighborhood is a garden.
The daytime is skeptical; nobody understands the weather.

We can analyze this poem by mapping \( \rho \) across each of its three lines to produce some \( \sigma' \), which we can then compare against the \( \sigma \) at \( \phi \).

For each line, the stressed words (this is a subjective question; my reading of the poem determines where I think the stresses should fall12):

This week the sky has been low over our heads indeed;
we walk back from the movies after the rain and this little neighborhood is a garden.
The daytime is skeptical; nobody understands the weather.

For each stressed word, the stressed syllable:

week sky low heads indeed
walk back movies rain little neighborhood garden
daytime skeptical nobody understands weather

For each stressed syllable, the onset:

w sk l h d
w b m r l n g
d sk n ə w13

The result of our \( \rho \) is a pair. The first element of the pair is the set of the stressed onsets in a line, \( \rho_{al}(l) \):

\( \{ \mathrm{d}, \mathrm{h}, \mathrm{l}, \mathrm{sk}, \mathrm{w} \} \)
\( \{ \mathrm{b}, \mathrm{g}, \mathrm{l}, \mathrm{m}, \mathrm{n}, \mathrm{r}, \mathrm{w} \} \)
\( \{ \mathrm{ə}, \mathrm{d}, \mathrm{n}, \mathrm{sk}, \mathrm{w} \} \)

The second element of the pair is the number of stressed syllables, \( \rho_{sp}(l)\). When all the onsets are unique, as they happen to be here, we can simply count the elements of each set.

\( 5 \)
\( 7 \)
\( 5 \)

The result is \( \sigma' \), a mapping of our \( \rho \) over each line of our poem:

\( \langle \{ \mathrm{d}, \mathrm{h}, \mathrm{l}, \mathrm{sk}, \mathrm{w} \}, 5 \rangle \)
\( \langle \{ \mathrm{b}, \mathrm{g}, \mathrm{l}, \mathrm{m}, \mathrm{n}, \mathrm{r}, \mathrm{w} \}, 7 \rangle \)
\( \langle \{ \mathrm{ə}, \mathrm{d}, \mathrm{n}, \mathrm{sk}, \mathrm{w} \}, 5 \rangle \)

each of which is in \( S \).

Given the structural component:

\begin{equation} \begin{split} \sigma = \langle &\langle A, 5 \rangle, \\ &\langle B, 7 \rangle, \\ &\langle A, 5 \rangle \rangle \end{split} \end{equation}

we can execute a simple algorithm14 that iterates over the three lines of \( \sigma' \) and compares each one to its counterpart at \( \sigma \):

\begin{equation} \begin{align*} n = 1 : & \\ \rho(l_1) &= \langle \{ \mathrm{d}, \mathrm{h}, \mathrm{l}, \mathrm{sk}, \mathrm{w} \}, 5 \rangle \\ \sigma_1 &= \langle A, 5 \rangle \\ &\bullet \phantom{\therefore} \text{assign } A \leftarrow \{ \mathrm{d}, \mathrm{h}, \mathrm{l}, \mathrm{sk}, \mathrm{w} \} \\ &\bullet \phantom{\therefore} 5 = 5 \\ n = 2 : & \\ \rho(l_2) &= \langle \{ \mathrm{b}, \mathrm{g}, \mathrm{l}, \mathrm{m}, \mathrm{n}, \mathrm{r}, \mathrm{w} \}, 7 \rangle \\ \sigma_2 &= \langle B, 7 \rangle \\ &\bullet \phantom{\therefore} \text{assign } B \leftarrow \{ \mathrm{b}, \mathrm{g}, \mathrm{l}, \mathrm{m}, \mathrm{n}, \mathrm{r}, \mathrm{w} \} \\ &\bullet \phantom{\therefore} 7 = 7 \\ n = 3 : & \\ \rho(l_3) &= \langle \{ \mathrm{ə}, \mathrm{d}, \mathrm{n}, \mathrm{sk}, \mathrm{w} \}, 5 \rangle \\ \sigma_3 &= \langle A, 5 \rangle \\ &\bullet \phantom{\therefore} \rho(l_3) \sim \sigma_3 \iff \{ \mathrm{ə}, \mathrm{d}, \mathrm{n}, \mathrm{sk}, \mathrm{w} \} \sim A \\ &\phantom{\bullet} \therefore \rho(l_3) \sim \sigma_3 \iff \{ \mathrm{ə}, \mathrm{d}, \mathrm{n}, \mathrm{sk}, \mathrm{w} \} \sim \{ \mathrm{d}, \mathrm{h}, \mathrm{l}, \mathrm{sk}, \mathrm{w} \} \\ &\phantom{\bullet} \therefore \rho(l_3) \sim \sigma_3 \iff \{ \mathrm{ə}, \mathrm{d}, \mathrm{n}, \mathrm{sk}, \mathrm{w} \} ∩ \{ \mathrm{d}, \mathrm{h}, \mathrm{l}, \mathrm{sk}, \mathrm{w} \} \neq \emptyset \\ &\phantom{\bullet} \therefore \rho(l_3) \sim \sigma_3 \iff \{ \mathrm{d}, \mathrm{sk}, \mathrm{w} \} \neq \emptyset \\ &\phantom{\bullet} \therefore \rho(l_3) \sim \sigma_3 \\ &\bullet \phantom{\therefore} 5 = 5 \end{align*} \end{equation}

\( \sim \) holds for each line with respect to its counterpart in \( \sigma \): the poem scans.


What’s the purpose of all this? Why bother with the Greek letters and formalisms?

This is undoubtedly a work of theory. But if I’ve indulged in theory, I hope it’s not a theory of criticism. These acts of formalization will hopefully not be construed as an attempt to give rise to a poetics (even a very partial poetics) that might survive outside the lab. To whatever degree they articulate any theory at all, that theory should be understood as completely useless to the reader and the critic.

Similarly: to whatever degree I’ve described poetic form in a way that a machine might understand it, I hope I won’t be understood as dreaming of a machine that can read poems, or worse, validate and evaluate them.

My purpose is to make a sketch of a generative poetics. I hope I’ve demonstrated that one beneficial effect of subjecting the irreducibly human structures of poetic forms to modularization, rationalization, and symbolic denaturing is that doing so yields new forms: this practice can offer tools for creative exploration to the poet who’s interested in generating new constraints to work inside of and isn’t afraid of set notation.


A note on the question of form, after a few thousand words of begging it:

All this talk of terza rima and tercets is rather old fashioned. Nearly all the poetry that’s written today seems to be free verse. It can be said to have a form in the way that we’ve defined form, but if we described that form in the notation we’ve developed, the result would be almost entirely void of interesting detail.

So, implicit in this exercise is a polemic: it’s worthwhile to be more interested in formal structures than most poets are, and more poets ought to be more interested in formal structures. I need to be as clear here as I needed to be above: to claim that poets ought to be more interested in the formal properties of their work is not at all to claim that it’s appropriate to evaluate poetry on the basis of its formal properties and to give it demerits when it hasn’t got enough. In other words: it’s not that poetry is rubbish if it doesn’t properly rhyme; rather, it’s that poets are leaving good money on the table.

But I will claim that all poetry, however many formal constraints it’s written within, consists partially in the interaction between natural human language and structure. To read a poem as a poem necessarily activates our awareness of the structure it encodes, implicitly or explicitly, and the degree to which it does—and the places in which it doesn’t—conform to that structure.

If this is the case, then the form, whatever it might be, is always present in the work; the form is experienced alongside the words. We not only can—or ought to—consider the formal structure in which we place ourselves; the structure is ineluctable. We can no sooner decide to write a poem without form than we can avoid including certain words and excluding certain others.

  1. An ancient pond:
    A frog jumps in,
    The sound of water.

    Haiku consist of a certain number of morae to each line; a “cutting word”, and a word placing the poem in a particular season. Technically, by focusing only on the moraic structure, we’ll be discussing the senryū form, but that fine distinction is not totally relevant for our purposes.

  2. Morae are a bit like syllables, but smaller; a word of only one syllable might be divided into more than one morae. Japanese poetic forms like haiku operate by counting the number of morae in a given line. The way that words are divided into morae is fascinating in its own right, but for our purposes, what’s relevant is that, like syllables, every line of a poem has a fixed, countable number of morae.

  3. In the middle of this life’s journey
    I found myself in a dark forest,
    As the straight-ahead path was lost.

    This is the first stanza of the Inferno, the first section of Dante’s Divine Comedy.

    In addition to the ABA rhyme scheme, the lines in the Commedia each have 11 syllables. For simplicity’s sake, we’ll consider only the rhyme scheme, not the meter, in our formal description of this poetic form.

  4. What I’m about to say is true of all poetry except for prose poetry.

  5. If we view form as a set of constraints, then even free verse is a form. Its set of constraints is the empty set.

  6. A few bits of notation that I’ll use:

    • Functions: \( f(x) = y \) names some process or relationship \( f \) that, when applied to some argument \( x \), “produces” or “goes to” some value \( y \).

      The arrow notation \( f : X \to Y \) describes the domain and codomain of \( f \), that is: the set of objects that \( f \) can be applied to and the set of objects in which the results of \( f \) are found.

    • Sets and tuples: curly braces \( \{ x, y \} \) describe a set that contains \( x \) and \( y \). Angle brackets \( \langle x, y \rangle \) describe the same collection of objects, but define an ordering between them (\( x \) comes before \( y \), and so on).

    • Universal quantification: the notation \( \forall x \in X : y \) establishes some expression \( y \) that must be true for every element in the set \( X \).

    • If and only if: the notation \( x \iff y \) denotes that whenever \( x \) is true, \( y \) is true; and vice versa.

  7. We don’t need to think of the structure of a haiku as a function, because a haiku only consists of a single stanza and its structure doesn’t change. For completeness’ sake only, then, we can imagine a definition:

    \begin{equation} \begin{split} \sigma_{h}(1) &= \langle 5, 7, 5 \rangle \end{split} \end{equation}

    that’s only defined for \( n = 1 \).

  8. It goes without saying that the sprung semihaiku is defined as $$( \rho_{sp}, ABA )$$

  9. This also gives us a relatively precise way to describe the common Western misprision of the haiku: $$( \text{the number of syllables in a line}, \sigma_h )$$

  10. We can make explicit the fact that “some attribute” may be a composite of multiple attributes. For instance, we can propose the enclosed semihaiku,

    \begin{equation} \begin{split} &( \langle \N, \mathrm{Sound} \rangle, \rho_{\langle h, rh \rangle}, ABA, = ) \\ \text{where} \\ &\rho_{\langle h, rh \rangle}(l) = \langle \rho_h(l), \rho_{rh}(l) \rangle \end{split} \end{equation}

    under which two lines rhyme if they have the same number of morae and they end with the same sound.

  11. We can imagine a whole series of rhyming by degree. For instance:

    • Lines rhyme if they have at least 2 shared stressed-word-onsets.
    • Lines rhyme if the Jaccard Similarity between their stressed-word-onset sets is \( \geq 0.5 \).
  12. Hopkins used written accents to make this explicit to the reader.

  13. We have an interesting decision to make when it comes to defining our \( \rho \): whether all syllables starting with vowels “rhyme”, or whether vowel onsets only rhyme if they share the same sound. The latter is a tighter constraint.

  14. The steps are written out here for illustration; in practice, one rarely needs an algorithm of any kind to tell for oneself whether a poem fits the meter or not.

Recent Posts

2024-04-14A Combinatory Rosetta Stone
2024-04-06Combinatory Programming
2023-09-03An Algebraic Sketch of Poetic Form
2023-01-152023: The Year of Ulti
2022-12-27What Makes a Good Culture-Game?

Built with Bagatto.