Search ('all' for everything):
Search results:
&fail — failure
break — break out of loop
case of — select according to value
create — create co-expression
every do — generate every result
expr & expr — evaluate in conjunction
expr \ i — limit generator
expr1 | expr2 — evaluate alternatives
fail — fail from procedure
if then else — select according to outcome
link — reference ICON module
next — go to beginning of loop
not — invert failure
repeat — evaluate repeatedly
return — return from procedure
s ? expr — scan string
suspend do — suspend from procedure
until do — loop until result
v op:=x — augmented assignment
v:=:v — exchange values
v:=x — assign value
while do — loop while result
x!X — process argument list
x(x,…) — function call
x{x,…} — process argument list as co-expressions
|expr — evaluate repeatedly

Index of Function Types:
affects &pos
character sets
co-expressions
control structures
file processing
generators
infix operations
keywords
lists, sets and tables
math
metadata
output formatting
pattern matching
prefix operations
records
strings
windows and keyboards

Index of Subsystems:
base
digitcnt.icn
SNOBOL4 functions
 
generate values
 
Description

!x1 : x2, x3, ..., xn
!x1 is a generator.

If x1 is a file, !x1 generates the remaining lines of x1.

if x1 is a string, x1 generates the one-character substrings of x1, and produces variables if x1 is a variable.

If x1 is a list or record, !x1 generates the elements of x1, which are variables. The order of generation is from the beginning to the end.

If x1 is a set, !x1 generates the members of x1 in no predictable order.

If x1 is a table, !x1 generates the elements of x1 as variables in no predictable order.
 
Parameters
x1
file, string, variable, list, record, set or table
returns
successive values of x1 until failure.
 
Errors
103 x1 originally string, but type changed between resumptions.
116 x1 is not string, file, or a structure.
212 x1 is file but not open for reading.