!yamlscript/v0 defn main(): say: |- Open doors after 100 passes: $(apply str interpose(', ' open-doors())) defn open-doors(): for [[d n] map(vector doors() iterate(inc 1)) :when d]: n defn doors(): reduce: fn(doors idx): assoc(doors idx true) into []: repeat(100 false) map \(dec (%1 * %1)): 1 .. 10