The objective of Jane is to perform as much of the work of programming as possible. Jane is expected to reduce software development effort by 99%. The two structures that make this possible are the

**opcodes** and their

**values**.

**VALUES:**

Jane will use the concept of classification instead of datatype. Each
classification will be fully qualified. An example of a qualified
classification would be A = $12.30 USD. The system
now knows as much about the value as the human, and can perform those actions
that are appropriate (i.e. "display" can now perform
currency conversion) . Each value will have a set of actions
based its own unique capabilities.

Jane will no longer be limited to three primitive datatypes at the compiler
level (number, text, and boolean). All real world values will be handled as
primitive values. Therefore Jane will support millions of primitive value
classifications, each performing all possible actions for the programmer.

There are two types of values: **castValue** which is the classification
and functions relating to a set of binary or text data, and **qualifiedValue**
which are the functions relating to a qualified castValue. Both of which use
names which are the full classification of the real world item that they
represent. Both have a set of functions which perform all the capabilities that
are possible (or realistic) for the value. Both have a set of event handlers for
all the possible opcodes assigned to the value.

**OPCODES:**

There are currently 185 opcodes used by Jane. An opcode being a primitive action
using zero or more classified values. Some of the operations are: add, compare,
search, retrieve and assign. Each opcode has an independent (replaceable)
function for each of the possible permutation of its operand's classifications.

opcode function math:+ (integer,integer) {
return A + B };

opcode function math:+ (real,integer) { return A + B };

opcode function math:+ (integer,real) { return A + B };

opcode function math:+ (real,real) { return A + B };

Optimized for emulator and for hardware instructions, both provide
compile-time and run-time use.