Copyright 2026 McPherran
See LICENSE
- Go and Rust
- C and C++
- F#
- Shell scripts
- Google code style
See Also:
- Functional-Programming Oriented
- OO: Interfaces, but no classes
- Standard Function Syntax: Example()
- No Braces for Code Blocks
- Memory Safety
- Syntax Fosters AI/Scanning
- High Performance
- Power Efficiency
- Pattern matching
- Imperative statements supported
- No return statements
- Pattern match or value as last statement is return value
- Function call acts as data/value
- Value of function uses struct member access syntax
- Boolean status optionally associated with function
- Syntax to access status and value
- Parentheses unused for functions without params
- Function call syntax provides effective return value variable
- Return value is either primitive or struct
- Explicit declaration of variables is generally unnecessary
- Automatic sequence variables (loop, span, list, hash, array, ...)
- Types not merely implied, clear from context.
- Interfaces
- No classes
- No Inheritance (override by interface spec.)
- Data oriented
- Data accessibility syntax
- Mutability syntax
- No properties (unneeded)
- OO-like call syntax for functions with data as first arg
- Access control syntax, no getters/setters
- Public and private only
- Default: public
- Private access flag for functions
- Immutable by default
- Mutability enable keyword/symbol
- Interfaces
- Defined by data and/or functions
- Implementation functions are not members
- Single file translation units
- No separate include files, include the source file
- Exports precompiled to separate output file
- Include source uses precompiled exports file
- Directories define namespaces (under project root)
- Data acts as object
- Applies to functions with data as first arg
- Example function: Trim(string str)
- Example call: line.Trim
- E.g. no throw/catch
- See Functions (boolean status)
- No referring to "operator precedence"
- Parentheses required when needed, disallowed when not
- Syntax provides clarity when parentheses disallowed/unnecessary
- Prevent confusing math equations and boolean logic
- Functional approach to math/logic/operators
- FP approach not less concise, rather far more concise overall...
- FP and data approach fosters pattern recognition/capture.
- No "when are parens needed/better" debates
- Indentation uses tabs. Tab size of 2 spaces recommended.
- Integrated editor (see IDE plan below) enforces tabs of size 2 or 4.
- Syntax minimizes need for conventions
- Uppercase characters unsupported except for syntax
- Line comments allowed, no comments on same line as code
- Self-documenting code encouraged
- No global variables (local and module-level only)
- No pointers
- No allocations
- No garbage collection
- Memory managed as part of language
- Unsafe contexts allowed
- Manage memory safety once at compile-time, not repeatedly at run-time.
- GC indulges haphazard coding; AI-incompatible
- GC negatively impacts performance and determinism
- GC unnecessary (e.g. Rust).
- Note: GC works well and adds memory safety, but it's deprecated.
- No pointers
- Addresses and ranges (arrays, bounds)
- Memory-mapped structs (e.g. for drivers)
- Support for the new language to be in Visual Studio extension project.
- Available on Visual Studio Marketplace.
- Link to be provided. Stay tuned for updates at this repository.