Jane Compiler Issues

The Jane Compiler is far from competed. My objective is not to just build another compiler, but rather find ways to reduce the time it takes to develop software.  Reproduce what we already have has no value. The objective is to have a system that permits anyone to create and test new computer statements in a few minutes.  I have over 430 changes to JavaScript that I am testing, of these, there are a few that I am in the process of completing that I feel make major contributions to our technology. Here are eight enhancements that I have waited until now to complete since they take quite a bit of time to fully implement.
  1. Absolute Flow Control
    This is to allow any statement or function to be execute in any order. The use of function calls to execute blocks of statements, the standard practice, did not work. I was forced to rewrite the complete compiler, emulators and executable subsystems.  The rewrite has been done. I now need to re-implement  flow control, to permit:
    1.  Function enter and re-entry points
    2.  Asynchronous function calls
    3. Parallel function calls
    4. Inline Threads
    5. Call stack jumps
    6. Exception recovery

  2. SQL Select Statement
    The Jane language has an SQL SELECT statement. I need to implement the full capabilities to the statement at the compiler level. This will include the following:
    1. ORDER BY
    2. SORT BY
    3. GROUP BY

    4. WHERE
    4. JOIN
    5. INTO

  3. Local Service
    The Jane compiler is to work equally on local and remote information structures. I have a localhost service that runs on the user's  machine to handle the interface to hardware, and remote databases from the client browser.
  4. Casting
    Casting is my own technology to be able to describe and transport logic as well as information structures.  I have implemented three cast structures (file, folder ad csv). I now have to implement probably twenty more logic components to really demonstrate the full capabilities of transportable logic (Casting). Basically this is "Here is the data or a pointer to it and what to do with it as a Text description"
  5. Cell Technology
    I have designed the cell technology, however I have yet to implement it.  This is to take the concept of classified data structures (array, objects, date,...) and reduced them all to a single implementation "The CELL". This is a major change to the complete Jane compiler and require a rewrite of 30% of the system.
  6. Units
    Units of measurement to any value.  Having integrated unit conversion and expression tracking at the compiler level.  Units definitions must be dynamic for foreign unit conversions (i.e. students per classroom"). Units must also include and track compounds and their respective proportions.  (i.e. crude oil is a compound of 12 or more chemicals per unit). The work here is to implement unit conversion for math expressions.
  7. External Data Reference
    Access to the localhost and remote Jane services tied directly to the Jane compiler. This requires adding prototyping to external database, files, and services without change to the basic name resolution defined by the compiler.
  8. Global WITH statement
    The "Window" global data structure is a global "with" statement hard coded as the one and only primary object.  Adding a system to create and manage more global objects it would be possible to change context globally. (i.e. "Production", "Development", "Testing", "Guest", "Training", "Demo"...). If a variable name is not found then look in "window".  I want to add if not found in "window" then look in "Development".  This is simply to make name resolution more obvious to the developer and to make it a compile time declaration.

There is much more work to be done on the other enhancements, I estimate 20 more years of work before Jane is complete. I view the Ada Lovelace's compiler (1843) as the level of technology in today's compilers. That is, it requires 99% human effort to develop software which has a limit on size and complexity.  My effort / vision / hallucination is to reduce the human effort to create software to less than 1% human and 99% computer with no limitations.