The Ironwall Programming Language
Ironwall 程序语言
Ironwall 程式語言
Ironwall Overview
Ironwall is a safety-first language designed for complex engineering, systems programming, security, static analysis, and long-term maintainability. Its primary goal is to reduce RCE-class failures. Its design aims to reduce complexity, keep runtime costs auditable, and enforce a direct fail-fast approach.
Ironwall keeps the core language model compact and inspectable. It accepts only a limited set of abstractions that improve practical expressiveness without turning the language into a hard-to-audit system.
Key Features
- Compile to native targets
- Nominal types
- Higher-order functions
- Union types with exhaustive
match - Simple generics with explicit instantiation
- Mandatory garbage collection
- Explicitly triggered Stop-The-World GC
- No macros
- No
null - No type aliases
- No type inference
- No inheritance
- No language-level exceptions
- No untyped literals
- No implicit type conversions
- No built-in concurrency model
Design Summary
The language surface is kept deliberately simple. The core design path is reducing complexity, making boundaries explicit, and rejecting hidden mechanisms that create security cost for local convenience.
Recoverable uncertainty should be modeled with data, especially union and match, rather than with null or exceptions. Unrecoverable violations such as illegal tags, failed preconditions, and out-of-bounds access fail immediately.
The runtime design is equally explicit. GC is mandatory for memory safety, but collection is not hidden behind background heuristics. Ironwall uses a simple Stop-The-World Mark-Sweep direction, and collection must be triggered explicitly by the program.
Ironwall 概览
Ironwall 是一门安全优先的语言,面向复杂工程、系统编程、安全、静态分析和长期可维护性。它的主要目标是降低 RCE 级别失败。它的设计目标是降低复杂度、保持运行时代价可审计,并强制采用直接的 fail-fast 路线。
Ironwall 保持核心语言模型紧凑、可检查。它只接受有限的一组抽象能力,用来提升实际表达力,而不是把语言变成难以审计的系统。
关键特性
- 编译到 native 目标
- 名义类型
- 高阶函数
- 带穷尽
match的 union type - 显式实例化的简单泛型
- 强制垃圾回收
- 显式触发的 Stop-The-World GC
- 没有宏
- 没有
null - 没有 type alias
- 没有类型推断
- 没有继承
- 没有语言级异常
- 没有无类型字面量
- 没有隐式类型转换
- 没有内建并发模型
设计概要
语言表面被有意保持简单。核心设计路线是降低复杂度、让边界显式,并拒绝那些为了局部便利而制造安全成本的隐藏机制。
可恢复的不确定性应通过数据建模,尤其是 union 和 match,而不是通过 null 或异常来表达。不可恢复的违规,例如非法 tag、前置条件失败、越界访问,会立即失败。
运行时设计同样显式。GC 对内存安全是强制性的,但回收不会被隐藏在后台启发式机制之后。Ironwall 使用简单的 Stop-The-World Mark-Sweep 路线,回收必须由程序显式触发。
Ironwall 概覽
Ironwall 是一門安全優先的語言,面向複雜工程、系統編程、安全、靜態分析和長期可維護性。它的主要目標是降低 RCE 等級失敗。它的設計目標是降低複雜度、保持執行期代價可審計,並強制採用直接的 fail-fast 路線。
Ironwall 保持核心語言模型緊湊、可檢查。它只接受有限的一組抽象能力,用來提升實際表達力,而不是把語言變成難以審計的系統。
關鍵特性
- 編譯到 native 目標
- 名義型別
- 高階函數
- 帶窮盡
match的 union type - 顯式實例化的簡單泛型
- 強制垃圾回收
- 顯式觸發的 Stop-The-World GC
- 沒有宏
- 沒有
null - 沒有 type alias
- 沒有型別推斷
- 沒有繼承
- 沒有語言級異常
- 沒有無型別字面量
- 沒有隱式型別轉換
- 沒有內建並發模型
設計概要
語言表面被有意保持簡單。核心設計路線是降低複雜度、讓邊界顯式,並拒絕那些為了局部便利而製造安全成本的隱藏機制。
可恢復的不確定性應通過資料建模,尤其是 union 和 match,而不是通過 null 或異常來表達。不可恢復的違規,例如非法 tag、前置條件失敗、越界存取,會立即失敗。
執行時設計同樣顯式。GC 對記憶體安全是強制性的,但回收不會被隱藏在後台啟發式機制之後。Ironwall 使用簡單的 Stop-The-World Mark-Sweep 路線,回收必須由程式顯式觸發。