/ http://www.setgame.com a:(`red`green`purple / attributes `oval`squiggle`diamond `one`two`three `solid`open`striped) comb:{(,!0){,/(|!#y),''y#\:1+x}/x+\\(y-x-:1)#1} / combs of x objects from y set:&/~2=(#?:)'3_vs / sets? deal:{(12_draw 81)comb[3;12]} / deal 12 from a deck of 81 sets:{3_vs x@&set'x} / sets in deal disp:{:[#x;+a@'x;x]} / display attributes disp sets deal[]