!7 cmodule PatternMaker { S examplesText, counterexamplesText; Set examples, counterexamples; transient JTable theoriesTable; class Theory { } visual withCenteredButtons(jvsplit( jhgrid( jCenteredSection("Examples", dm_textArea examplesText()), jCenteredSection("Counterexamples", dm_textArea counterexamplesText())), jCenteredSection("Theories", theoriesTable = sexyTable())), jThreadedButton("Think", rEnter think)); void think { setField(examples := asTreeSet(tlftj(examplesText)); setField(counterexamples := asTreeSet(tlftj(counterexamplesText)); } }