Item: A single datum (piece of data). Items can either contain a value, or they can be empty which Grasshopper will call null.
List: An ordered collection of data. Ordered meaning there's a first, second, third, …, last item. Items inside lists are accessed by an index.
Index: Indices are non-negative integers where 0 represents the first item, 1 the second item and so forth. Every item in a list is uniquely identified by a single index.
Tree: An ordered collection of lists. Lists are accessed by a path.
Path: An ordered collection of one or more non-negative integers. Usually written using curly braces and semi-colons as separators: `{0;7;0;2}` Just as you cannot have more than one item in a list with the same index, you also cannot have more than one list in a tree with the same path.
Matrix: Matrices are rectangular grids of numbers. A matrix has a non-zero number of rows and columns, and each cell contains a number.
Sequence: A collection of numbers (theoretically finite) where each number is defined by (some of) the numbers preceding it. Every sequence has a rule and one or more starting values. A simple example would be a starting value of zero and a rule that says each entry in the sequence must be one bigger than the previous, resulting in (0, 1, 2, 3, 4, …).
Sets: Mathematically, a set is an unordered collection of distinct items. However in Grasshopper a set is just a list containing simple data types such as numbers, text, points, colour, but not curves, breps, meshes or other complicated entities. Reason for this is that every member in a set must be easily comparable to other members in the same set. Set components add or remove members from 'sets' using equality comparisons.
Series:
Range:
Domain: Also sometimes called 'intervals', domains are numeric stretches defined by their extremes. For example the domain [2 to 10] encapsulates all numbers bigger than two and smaller than 10 (and, depending on context, exactly two and exactly ten as well).
Graft:
Flatten:
Simplify:
Vector: