Here is a string scanning example that breaks a line up into two pieces at the first comma in the string. Csets Before introducing more string analysis functions, we need to introduce the cset datatype. This type is for character sets, and is a fast, general replacement for character classification macros and functions such as those found in the C language ctype.h header file. There are also several built-in cset constants that you will find useful. All of these built-ins are Icon keywords, which are identifiers that begin with an ampersand character.
Records name a set of fields.
References to records have pointer semantics automatically. Records are always allocated from the heap when they are constructed. The implementation of them is not a simple linked list form, and is efficient for any of these kinds of operations. Lists have many operations that look like string operations, but lists are mutable, unlike strings. When a list element is assigned a new value, the existing list is changed rather than a new list being produced.