Spreadsheet
An ALT program can be considered to be a advanced type of spreadsheet. For example, with ALT you can create spreadsheets that have ’typed’ cells, and cells that recursively contain other spreadsheets. In this example we create and edit a simple spreadsheet.
First we define the spreadsheet type _S
that only allows cells to contain positive numbers, and has exactly three columns and four rows. Then we create a simple spreadsheet S0
with three columns A
,B
and C
and three rows 1
, 2
and 3
(column major ordering). We edit one cell to add a ‘formula’, creating spreadsheet S1
. After that we add an extra row to sum columns, creating spreadsheet S2
. For every spreadsheet we check whether they still conform to type _S
.
Notice that the formulas use advanced relative indexing and scoping. This makes it possible to ‘copy’ such formulas into other spreadsheets at different coordinates (aka relative cell references).