Jane - Software That Reflects Reality
A natural language descriptive computer programming language. "Request what, not how".  Jane is a tool to build tools. A tool to build all other applications, from: bootstraps, operating systems, compilers, editors, accounting systems, flight control systems,  ..., to Hello world.

Jane - Right to Repair and Modify Software
All software is owned by the owner of the hardware that is runs on. This gives the user the right to have absolute access to all source code, information and details in the operation of the hardware.  This includes ownership of all information generated by the hardware as given or derived. No information may leave the hardware or be accessed (i.e. logs, and self diagnosis) except by the owner.  No license agreement can override this right.

AI  - Automatic Implementation
Logic generated upon request using known information.  To provide access to all information and logic needed to satisfy the request. Moving away from programming to modeling reality in hardware.


All the technical details of Jane have been removed from this site

 

Videos of LR1 (Dragon Book) approach to compiler design. This is a dead-end technology so I am in the process of redesigning / rewriting Jane. I have made 770 changes to the basic JavaScript compiler, however this was only polish. I cannot improve the compiler technology using the LR1 approach.  These videos still apply to Jane. However I will soon make a new video showing my hybrid approach to allow for a natural language vocabulary.

(March 25, 2020) Jane, a look inside at where the system is going.



(March 17, 2020) Text Value, a new technology of a text representation of a variable having all the same characteristics and functionality of the JavaScript datatypes, with one major advantage of being transferable and executable on different hardware and software environments. 
 

(Jan 27, 2020) Jane compiler's opcodes and natural language extensions. In a multi-machine application each compiled operation requires asynchronous access to external functions and values. This video illustrates a few methods to extend the opcodes to allow user define control of the 185 opcodes. It also shows how to use natural language phrases to make the program readable.

Programming "Flow Control" Examples asynchronous function calls, exception recovery, two way communication between functions, screen refresh, program pause, waiting for parallel asynchronous operations

 

Extending closure capabilities examples video. This video shows how Jane produces the same result as JavaScript. Plus a few of the Jane enhancements.