@prog impediment.muf:piglatin 1 9999 d 1 i : dipthong? "wh th sh ph ch cz tr sp sm" swap instring ; : vowel? "aeiou" swap instring ; : piglatin-word (sN ... si ... s1 N i -- sN ... si' ... s1 N) dup 2 + rotate dup if dup strlen 1 = over 1 strcut pop vowel? or if "-bay" strcat else 2 strcut over dipthong? not if swap 1 strcut rot strcat then "-" rot "ay" 4 "" rimplode then then swap 1 + neg rotate ; : main " " explode dup 1 -1 for piglatin-word loop " " implode ; . c q