Jane's Table Description

The ease of communication for the actions that are to be applied to information
structures is critical to any software development project. Having used many
Assemblers, Compilers, and scripting languages I can find no approach that
works. I am therefore going to describe my approach. First I will redefine the
terms for our programming structures, and second I will define the language to
communicate actions on these structures.

Jane's primary objective is to eliminate the need for documentation. I
find that documentation has no real meaning to the actions that are being
performed. The nouns (variable names) used in current technologies do not
imply context, nor do the verbs (function names) imply explicit action, which
are the main reasons for documentation. By using common knowledge we can
create a technology that needs no documentation.

I looked at Python and R as two of the languages that implement the table
structure. They have over 10,000 PDF pages of documentation needed to program
their different structures. JavaScript does not have a table structure and
requires new programming for each implementation.

If I dissect the table structure I find familiar terms and structures similar
to every other structure, therefore I
will not create new terminology.

The Cell is the only element type that the Jane system has, It
has the same characteristics as an n-dimensional table. The cell is a load
on-demand technology.

Cell: a single named value, referenced by name or number ( a
single row, single column Table)Name = 'clif'

1

1

Row: A set of cells referenced by Name (a single row Table)
A.name = 'clif'

Name

Age

Address

1

Column: A set of cells referenced by Number (a single column Table)
A.1 = 'clif'

Name

1

2

3

Table: a set of rows and columns
A.1.name = 'clif'

Name

Age

Address

1

2

3

Block: A Row or Column of tables.
A.1.1.name = 'clif'

These five terms will be the ones used by Jane to build every
other structure. The terms Cell, Row, Column, Table, and Block are
identical, the only difference is when they are labeled: Every structure has the
same capabilities and programming syntax.

Table

Matrix

Grid

Graph

Name

Address

1

2

1

2

1

2

1

2

1

2

January

February

Cost

Quantity

The terms Row and Column are used in a context: When in context of
their internal addressing of a Cell the term is explicit, A Row is addressed and
labeled by Name, and a Column is addressed and labeled by Number. When reference
to the vertical cells they are columns, and the horizontal cells are termed
rows. The actual implementation of a Row and a Column is the same, both
can be referenced by name or by number.

I shall use upper case Row and Column as their internal use,
and as lower case for the horizontal row, and vertical column

Cell Structure

A Cell has a Name, Index, Offset
and Data Type which can be implicit from the container structure or explicit.

Partitions

Grouping
of rows is done as horizontal named partitions, and columns as vertical named
partitions. The Row structures are partitioned by cell name, by cell index or by
cell content, and the Column structures are partitioned by cell Index or by cell
content. A partition is a physical characteristic of a structure.

Selection

Cells can
be selected by partition name(s), by a list of row and/or column indexes,
offsets, or names, by a row, column, or matrix bitmap, or by a function to
select cells by content.

Dimensions

Each cell can have any number of dimensions. Each dimension can be given
a unique name, addressing scheme and characteristics.

A 2-dimension structure might be named a "table" with the vertical elements
given a singular name of "Row" and a plural name of "Rows", and the vertical
dimension having a singular name of "Column" and a plural name of "Columns";

Cell Characteristics:

cell definition

singular name

plural name

label

data type

data units

display style

events

qualified value

physical cell content partitions

name

function

events

cell content dimensions

singular name (i.e. "Column", "Row", "Record", "Frame","Z",...)

plural name (i.e. "Columns","Rows","Records","Frames","Zlist",...)

cell addressing from : first, last, center, nth

cell addressing index: 0 or 1

cells count

cells allocated length

cells base address

cell units scale factor: 1

selected cell indexes

sorted cell indexes

sort key

sort function

events

partitions by cell names

cell names

events

cell definitions

name

label

data type

data units

display style

selected

fixed

unique

events

Access

Accessing the cells in the structure. Each variable is a cell of n-dimensions
and can be accessed with or without dimensional references.