Re: Table based programming.
- From: jacob navia <jacob@xxxxxxxxxx>
- Date: Mon, 31 Dec 2007 20:02:30 +0100
Malcolm McLean wrote:
I want this to be a serious, fruitful thread. Sabateurs will be plonked.
Table-based programming is a new paradigm, similar to object-orientation, procedural decomposition, or functional programming.
A Programming Language
APL.
In that computer language, proposed by Iverson, everything is a table.
As lisp treats lists, the table is the fundamental concept of APL.
Tables are inherently parallel, and well adapted to parallel processing.
I am preparing an adaptation of APL according to the ideas of
"SIMD programming for linux and windows" of Cockshott and Renfrew.
The idea is that all the data in the program comes in "tables". A table consists of records and fields, and is thus a 2d entry. Fields may be numbers or strings, and have names, descriptors, prevalidation conditions and postvalidation conditions, and the like.
Note that this means that each field in the table is described by a "data dictionary" which is itself a table, with one record for each field.
Tables can come in different dimensions.
Vectors are one dimensional, then you have 2, 3, 4 dimensional tables.
Tables can be "ragged" also, as you propose above. In that case we have
the pointer tables of C.
Tables are completely transparent to disk caching, sharing, database support, and the like. They can have tiny of massive numbers of records.
In a VM system this can be done easily but I would suppose a RAM
based approach.
There are no other structures. Queues, stacks, trees and the like are things that you do to tables, not the format that the table is in. The idea is that, given a dictionary, you can write automatic editors, viewers, savers and things like that. So most code can be reused. They are designed with business applications in mind, but could be used more broadly.
Now obviously C is not a "table-based programming language" and has no build in support. However paradigms are independent of the language they are implemented in.
My question is, is it practical to design a "TABLE" library for C?
I am doing it (slowly, because I am very much alone in this).
--
jacob navia
jacob at jacob point remcomp point fr
logiciels/informatique
http://www.cs.virginia.edu/~lcc-win32
.
- Follow-Ups:
- Re: Table based programming.
- From: CJ
- Re: Table based programming.
- References:
- Table based programming.
- From: Malcolm McLean
- Table based programming.
- Prev by Date: Re: Redirect stdin ?
- Next by Date: Re: function returning days of the week
- Previous by thread: Re: Table based programming.
- Next by thread: Re: Table based programming.
- Index(es):