Complex Data Types Supporting Efficient Data Analysis
Traditional spreadsheets only offer only simple data types as cell values, e.g. formatted numbers, text, dates or special values like TRUE, FALSE and errors. By transcending spreadsheet grids towards FlowSheet graphs we were able to add more complex types, because they do not have to fit any more into individual cells.
Some simple types offered by ANKHOR FlowSheet are:
- Integer and floating point values
- Character strings of unlimited size
- Absolute Time (date/time of day) and Relative Time (durations)
- Enumerations offering a numbered selection of sets of textual constants (e.g. the days of the week).
- 2D and 3D points
- Formatting Information, like Color and Cell Format
- Bit Sequences
- Vectors
- Errors
New, more complex types can be derived from these simple types:
- Tags and Tag Lists: Named values and lists thereof, e.g. parameter lists
- Collections: groups of simple elements in vectors or tables (comparable to arrays in traditional programming).
- Compositions: groups of simple elements with a specific meaning for the individual cells. They are treated as a single entity and not as a collection of cells (comparable to “structs” in traditional programming).
This powerful type system even provides native support for items like XML documents or elements, graphics primitives (points, rectangles, polygons, colours etc.), bitmaps, vector graphics, forms or dialogs. Operators check the types of their inputs and adapt their behaviour accordingly, generating an error in case of receiving input data of an unsupported type.
Example for color and table cell format as data types:

