When, Where and How:
The evolution of software will required that values will be available
where we need them, when we need them, and how we need them. This is in
effect programming. However the effort to provide information currently
requires vast human effort, when in fact, this whole effort can be
turned over to a more intelligent computer.
The solutions is to provide unique solutions for each information
request. The current technology provide a single solution for every
case, leaving the work up to the programmer.
The current technology has three or four types of information with
access performed by background functions in fixed way. These types are
Integers, real numbers, and an array of integers or real numbers.
Characters and Dates are an assumed use of integers. We can move these
values from place to place and perform the arithmetic and boolean
To extend information the system needs to know much more. Such as; it
the number an integer, a character, or a date? Where is the value
stored? How is the information updated? We must create a much larger
information base in which to perform automatic processing on the part of
an intelligent computer system.
"No one has ever been able to stop the process and evolution of
technology, not even I.B.M. That is going to continue. Those who grab it
and move ahead with it will determine the future in this industry."
-- Eckhard Pfeiffer
"I think there is a world market for maybe five computers." --
IBM chairman, Thomas Watson, 1943
"Technology is a word that describes something that doesn’t work
yet." -- Douglas Adams
"So much technology, so little talent." -- Vernor Vinge
"I am not apt to follow blindly the lead of other men" --
"The only true wisdom is in knowing you know nothing." --
"By three methods we may learn wisdom: First, by
reflection, which is noblest; Second, by imitation, which is easiest;
and third by experience, which is the bitterest." -- Confucius
Overloading the information Base:
Using the standard information model of programming using values has
its limits. To program every little thing that is known about a value is
the wrong approach. I have created a much more knowledgeable value base
which encompasses the entire life span of a value.
We start with numbers. Is it an Integer, a Real, a Counting Number,
or a Whole Number? Next we want to know about characters; case
sensitivity, sort order, use classification, font characteristics, and
Each piece of information is a nested n-dimensional value with an
adjustable origin. Every value then has the same operations available,
which would include sort, search, create, delete, and modify.
Overloaded operations for each value. The transport and storage
of information will be a fundamental capability of each value. The value
will therefore will have a diverse accessing and name resolution
schemes. The extension to the compiler to determine use of a value. If a
value or function is a reference or an assignment.
The next phase of the information knowledge base is to determine the
exact purpose of a reference to a value. This is divided into many
aspect of information transfer. First there are the basic internal
values which current compiler manage. Second there is a whole range of
external values which are segmented into application specific reference
modes. Third; there are values referenced as functions which each have
unique characteristics and special access methods. The design is to
place each piece of information into its own unique access method with
the best possible solution handled by the system. This is to be
handled using overloaded operators and context sensitive access
Cell Entry Points:
assignment, delete, insert, search, exists, add, subtract, multiply,
divide, exp, modulo, increment, decrement, less then, greater then,
equal, not equal, left then or equal, greater then or equal, or, and,
not, shift left, shift right, logical and, logical or, get, set, type
of, next, siblings, children, not exist, range, validate, convert units,
Cell Information Types:
Characters, Integer, Real, Counting Number, Whole Number, Rational
Number, Complex Number, Date, Year, Time, Duration, Qualified Value,
Function, Property, Precision.
Value operators: get, set,
Unary Operators: increment, decrement, negate, validate
Arithmetic Operators: add, subtract, divide, multiply,
Logical Operators: less then, greater than, equal
Boolean Operators: And, Or, Not, exclusive Or
Access Methods: Direct, Indirect, Binary, Text
Each value type has a unique set of operator functions associated
directly through the compiler.
Current Addressing Schemes
Variable names, dotted subfields, bracket subfield, bracket index,
function name parentheses.
Extended Addressing Schemes:
indirect reference, bracket index pattern, bracket insertion
reference, brace command, double dotted parameters, dotted
function entry point reference, keyword reference, non-assignment
reference, content reference.