Search ('all' for everything):
Search results:
[x1, …] — create list
copy — copy value
delete — delete element
get — get value from list
insert — insert element
key — generate keys from table
list — create list
L|||L — concatenate lists
member — test for membership
pop — pop from list
pull — pull from list
push — push onto list
put — put onto list
set — create set
sort — sort structure
sortf — sort structure by field
table — create table
x!X — process argument list
x++x — compute cset or set union
x===x — value equal
x[i+:i] — produce substring or list section
x[i-:i] — produce substring or list section
x[i:i] — produce substring or list section
x[x, …] — multiple subscript
x[x] — subscript
x~===x — value not equal
x––x — compute cset or set difference
x∗∗x — cset or set intersection

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
 
locate balanced characters
 
Description

i3, i4, ..., in bal(c1, c2, c3, s, i1, i2)
bal(c1, c2, c3, s, i1, i2) generates the sequence of integer positions in s preceding a character of c1 in s[i1:i2] that is balanced with respect to characters in c2 and c3, but fails if there is no such position.
 
Parameters
c1
character set characters to search for between c2 and c3
c2
character set starting character to be balanced with c3
c3
character set ending character to be balanced with c2
s
the string to search
i1
the starting position in s
i2
the end position in s
returns
a sequence of integer positions in s
 
Defaults
c1
&cset
c2
'('
c3
')'
s
&subject
i1
&pos if s is defaulted, otherwise 1
i2
0
 
Errors
101 i1 or i2 is not an integer
103 s is not a string
104 c1, c2, or c3 is not a cset
 
See Also
  • find — find string
  • upto — locate characters