This appendix lists various languages and papers that have influenced the design and implementation of the Azoth language. This is not an exhaustive list.
- Rust
- Borrow Checking
- Enum types
- Traits
- Bit size integer and floating point types
- Never Type (based on RFC)
- Control flow without parens
- Match
- Pattern Matching
loop
foreach
- Documentation Comments are Markdown
unsafe
- Comparison operator chaining
- Type Inference
- Project Midori
- Reference Capabilities
- Effect Typing
- Error Handling
- C#
- Value types (i.e.
struct
) - Declaration site reference vs value types
- Preprocessor
- Optional (i.e. Nullable) Types
- Access Modifiers
- Coversions
- Namespaces
- Using
- Documentation Comments
decimal
typeunchecked
- Generics
- Collection Initializers
- Linq API
- Partial Classes
- Generator Functions
- Async/Await
params
- Value types (i.e.
- Swift
- Interpolated String Syntax
- Multi-line String Literals
- Metatypes
- Agda
- Operand placeholders (
_
) for operator overloads
- Operand placeholders (
- Scala
- Case Classes
- JAI
- Symmetric Operators
- Compile-time code execution
- F#
- Units of Measure
- Draco
import
keyword instead ofusing