Halis: A Self‑Hosting Systems Language Built Around Safety
Описание и применение
Halis – это системный язык программирования, который по умолчанию обеспечивает безопасность, устраняя типичные ошибки и предоставляя формальную верификацию.
Задача
Developers face a trade‑off between performance and safety in systems languages, often accepting unsafe code for speed or incurring runtime overhead for protection.
Результат
Halis demonstrates that a self‑hosting systems language can enforce safety by default, providing compile‑time guarantees against common bugs and integrating formal verification tools, while maintaining deterministic bootstrap and a stable test suite.
Рабочий процесс
- 1. Design language semantics to reject unsafe patterns at compile time.
- 2. Implement lexer, parser, type checker, and compiler (hlc) in Halis itself.
- 3. Create a bootstrap chain: Stage‑0 Python seed builds native compiler, which recompiles its own source.
- 4. Verify byte‑identical output of two compilation passes on every build.
- 5. Add formal verification tools (hlprove, hlmodel) that interface with Z3 SMT solver.
- 6. Run extensive test suite (700+ tests) covering interpreter, native compilation, and bootstrap determinism.
- 7. Plan documentation and modular code structure for community onboarding.
Доказательства
The compiler, called hlc, is written entirely in Halis itself. Two compilation passes produce byte‑identical output, a fact that is verified by the bootstrap chain on every build.
Halis implements seven core guarantees that every program must respect, not because a style guide recommends them, but because the compiler refuses to build anything that violates them.
The built‑in generic type tainted[T] wraps any value as potentially attacker‑controlled. The compiler statically rejects passing a tainted value to any sink.
- Дата записи: 2026-09-11T17:00:39.094Z