wods:"\n" split "r" drop words:read["/usr/share/dict/words"] words:"\n" split words still:select word:words@index wod:value where (wods in words)*(extract value like "*r*" from words) from wods show[table random[still -10]]
this gets an answer in 13min, or 880ms without the 'wod in words' test. I've tried a few alternatives (words dict 1, readdeck of a grid, parsing and reading a json of a table) and nothing seems to cut that down. It seems like building large tables is slow. Maybe due to the allocator?
But, this was only for learning purposes and I gained a better appreciation of the query language from it.