HLL examples
How our HLL is superior to any other language.
Generic algorithms:
Proposed example categories:
- programming with active annotations (including powerful parsing)
- self-extending the language (including mixing syntaxes)
- implicit programming (including logical programming)
- program proofs (including strong typing)
- Incremental programming with annotations (including incremental proofs).
- optimization through annotations (including using assembly)
- customizing programs (including UI interface)
- isolating modules (including securing objects)
Various aspects of the HLL as a truly all-purpose language:
Presenting the HLL as:
- An interactive shell (including using a graphical or voice interface)
- Elements:
- Easy access to job control.
- Easy access to composing and adapting small simple components into a program.
- Terse, clear syntax.
- A scripting language (including event programming)
- Properties:
- Unambiguous syntax that makes completion and context-discovery trivial.
- Verb-Object and Object-Verb grammatical ordering.
- Easy embedding of domain-specific languages.
- A structural editor (including WYSIWYG text processing)
- Elements:
- A quasi-quotation mechanism as in Scribe Scheme's bracket syntax, so that it can be unquoted.
- A level of translation possible that is non-trivial (not just macro-expansion in other words).
- Mechanisms for extending this system for a domain-specific use.
- Mechanisms for limiting the grammar for domain-specific safety and encoding efficiency.
- A database language (including 4GL queries)
- Elements:
- A boolean and relational query language for the information stores and the query language's abstractions as well.
- A equational constraint system and a strategizer for solving it dynamically, so that invariants can be specified in a way that relates to a common school-taught concept, while being logically sound.
- A basis for natural language interfaces (including knowledge databases)
Real-Life examples:
- Writing a generic version of the Ziv-Lempel compression algorithm, and used to independently specialize the encoding (to code/decode LZ77, LZH, LZW, GIF and other formats) and tune the implementation (optimizing encode table caching)
To Do
- Fill out examples.
- Find all kind of programming paradigms to illustrate.
- Find examples from all other languages.
- Show our way to meta-self-extend so as to better any other language.
- Show use of the standard libraries.
- Show standard interfaces to the hardware.
- See also The Evolution of a Haskell Programmer.