Small changes to the compiler that will change the way we write
software. These changes have minimum impact on the knowledge base of the
programmer. No new syntax is introduced, rather existing syntax is used
or added to implement these changes. Most of the changes are
transparent to the programmer.
The objective is to reduce the syntax and knowledge required.
1. Variable Length Numbers
Integers and real numbers that have no fixed range.
2. Fixed Length Numbers
Integers and real numbers that can be defined as any fixed number of
3. Character Style
A Character representation that contains font, language, and style
information for each character.
4. Boolean Datatype
A true or false data type. Has no numeric representation
Built-in unit representation and conversions
6. Mutable values
Values that can be modified in place
7. Compiler Timeline
Timeline with markers of when variables are created, changed, and
8. Load on demand
Loading of logic and data when needed
9. Emulation and Hardware instructions
The dynamic and static storage format and name creation
10. Passing of variable names
Knowing the name of the variable name used by the calling function
"Maturity is when you stop complaining and making excuses, and
start making changes." -- Roy T. Bennett
"Oh, the fools, like a lot of good little schoolboys, scared to
death of anything they've been taught is wrong!" -- Émile Zola
"Maybe I am doing right , maybe I am doing wrong but at least I'm
trying" -- Jameel
"Women are meant to be loved, not to be understood." -- Oscar
"Better three hours too soon than a minute too late." --
"Whenever you write, whatever you write, never make the
mistake of assuming the audience is any less intelligent than you are."
-- Rod Serling
11. Return multiple values (Python partly)|
Return more than one variable by a function. Also add an
alternate return variable argument list to the function statement to be
used in a conditional for the calling function.
12. Change Precedence Order
Change the order in which operators are performed, from application
specific to logically ordered, making it easier to remember.
Text and Binary include values
A syntax for infinite amount of text and binary values in the source
code with user defined terminators.
14. Constants and Masks
Global constants with enumeration and named masks also defined as a
table of constants and masks
15. Qualified Function Names
Using qualified function names to create parent child relations of
16. SQL select statement
Treat arrays, objects, tables, and other select statements as your
17. Infinite Continuous Data
Large structures and files are access on demand, in multiple small
18. Partitioned Arrays, Objects, and Tables
Horizontal and vertical partitioned based on content
19. Extended Prompts
Prompts for files, folders, fonts, color, style, save, save-as,
20. Singular and plurals
Tie singular and plural objects together
21. Absolute flow control
Synchronous and asynchronous flow control, event recovery, two way
function calls, entry points, refresh.
22. Function entry points (FORTRAN partly)
Allow multiple entry points to be called, or to be reentered from the
23. Global With Statement
multiple modes such as Development, Production, Guest, and Training by
using global "with" statements
24. Flattened Structures
Nested parent child objects, with a single level naming convention.
25. Object parent search
Searching object upward as will as downward
26. System defined events
user definable functions for system events, onChange, onNotFound,
27. User defined Operators
User functions to perform user defined keywords or syntax dynamically
parsed and handled in the same way a system known operator performs.
Same operator order, precedence and number of arguments.
28. Complex Numbers
mathematical imaginary numbers (FORTRAN,...)
29. exit statement
quit program execution without unwinding the call stack
provide a new syntax to express a fraction with unit conversion and
math operations are performed
31 Extended case
Provide list, match, case insensitive, numeric range and other extended
switch statement matches
32 Declare statement
provide extensive number, character, structures and binary storage
33 Closure calls
call sub-functions of a closure function
34 orphan catch and finally
permit catch and/or finally without a try statement
35 Alias function names
A simple variable name for an Object's methods
37 alert ruler
define column layout for alert function
38 inline functions
functions treated as an inline block statements to a function
Subset of the Changes:
These thirty eight changes to the compiler are a small subset. I
have listed these changes as those that are mainly transparent to the
programmer. There are many more changes that require more detailed
I was watching a blacksmith demonstrate his trade on TV the other
day. He said that he learns one significant new skill every two or three
years. In programming it takes us about 25 years to lean a new skill. At
this rate I figure it will take us nine hundred and fifty years to
implement just this small subset of changes if we wait for others.
These changes are to ensure that when writing programs we never have to
guess at what the result will be.