Interactive POetry Editor
It's a text editor compiler for poetry!
$ cat test.txt
#lang ipoe/couplet
Humpty Dumpty sat on the wall
Humpty Dumpty had a great big head
$ raco make test.txt
ipoe: Expected a word to rhyme with 'wall', got 'head' (word 6, line 1, stanza 0)
- Checking for rhyme, syllables, stanza counts, and line equality
 - Specification language (
#lang ipoe) for defining new poetic forms 
Here is the specification for #lang ipoe/couplet.
#lang ipoe
#:name couplet
#:rhyme-scheme {[A A]}
That's 1 stanza with 2 rhyming lines with any number of syllables.
- Install Racket v6.3 or later (download)
 - Install this package
 
- from pkgs.racket-lang.org : 
$ raco pkg install ipoe - or from GitHub : 
$ git clone https://github.com/bennn/ipoe; raco pkg install ./ipoe 
- (optional) Install PostgreSQL (download)
 - Connect to the internet
 
- (if 
postgresqlis running) Runraco ipoe initto initialize a database - Browse the built-in poetic forms (
raco ipoe show) - Write a poem, e.g. 
hello.rkt - Run 
racket hello.rkt 
Check the issue tracker for more.
- Submit poems, poetic forms, and words to a central repository
 
- Real iambic pentameter is more than "10 syllables per line"
 
- Include word meaning in the analysis, especially when giving suggestions
 - Try WordNet
 
- Especially a problem for rhymes (syllable information is more accurate)
 - Use the dictionary pronunciations / phonics
 
- Instead of using the internet / the user, parse Shakespeare's works and infer what words rhyme etc.