# От книгата The Icon programming language, 3rd ed. (R. E. Griswold, M. T. Griswold). # По дадено множество s процедурата sets образува и съпрограмно излъчва (suspend) # безкрайната редица от всички множества с повтаряне на елементите на s, започвайки # от празното множество и постепенно увеличавайки броя на членовете. # Процедурата main показва примерно използване на sets за множеството 'abc' от три # члена. Извежда се начален отрязък от образуваната редица. procedure sets(s) suspend "" | (sets(s) || !s) end procedure main() every write(sets('abc')) \30 write("...") end