Foldable Words
bit-player.org
bit-player.org
Since it uses Wikipedia as the text source and orders by frequency, the results tend to be more realistic phrases than you might find doing smashing words from a word list together.
The anagram operator is a new one for me. Nice.
$ echo 'a b
c b
c d*' | hfst-regexp2fst > ab.fst
$ echo 'c ?+' | hfst-regexp2fst >cdotplus.fst
$ hfst-intersect ab.fst cdotplus.fst | hfst-expand -c3
cb
cd
cdd
cddd
cdddd
$ hfst-expand -c3 ab.fst
ab
cb
c
cd
cdd
cddd
The regex syntax is a bit quirky due to backwards compatibility with lexicons written in XFST, see https://github.com/hfst/hfst/wiki/Regular-Expression-Operato...We solved two or three of the small puzzles, but couldn't get the rest. I wondered if we could solve the overall puzzle without knowing the letters, by exploiting the structure of the graph: perhaps there are simply not many words or phases which could be produced by the graph.
Enumerating the possible paths through the graph was straightforward (there are a few hundred, i think). Matching those paths against individual words, if you have a word list, is easy. But where i was stumped was matching them against phrases containing multiple words. Trying every possible sequence of words, even lazily assembled, felt like it would be a combinatorial explosion that i would never be able to get through.
Using a corpus of phrases from wikipedia is absolute genius.
[1] https://www.gchq.gov.uk/news/christmas-card-2020 - note that the edge with a double arrow is really two edges, one in each direction
https://www.reddit.com/r/othepelican/comments/86z3zk/o_the_p...
Did make me sad, though. Considering the last message found in the text.
I love you.
I tease you.
I pleasure you.
I please you.
I pester you.
I peeve you.
I salute you.
I leave you.
Using that on my /usr/share/dict/words, I get 634 matches, which is about in line with what the author got.
https://thomaspark.co/2020/06/the-mad-magazine-fold-in-effec...