A low-level, systems-oriented programming language focused on explicit behavior, predictable execution, and direct control over memory.
Performance · Safety · Predictability · Explicitness · Determinism · Control
Sulfur favors:
- Explicitness over convenience
- Predictability over flexibility
- Control over abstraction
- Clarity over cleverness
- Interoperability over isolation
Data is immutable by default. Mutation is explicit. Memory allocation and lifetime are controlled by the programmer rather than a garbage collector or automatic memory manager.
The compiler is responsible for enforcing what can be proven statically. When it cannot prove that an operation is safe, it should make that limitation visible rather than hiding it behind runtime behavior.
For the full design rationale, see MANIFEST.md.
- Performance suitable for systems software
- A predictable memory and execution model
- Explicit control over allocation, mutation, and lifetime
- Static detection of memory-safety problems where possible
- Straightforward interoperability with existing systems software
- Portability across operating systems and architectures
- A small language with composable rules
Sulfur intentionally does not aim to provide:
- Garbage collection or automatic memory management
- Hidden runtime behavior
- Dynamic typing
- Implicit mutation
- Abstractions that conceal performance or memory costs
- Language features that exist primarily for syntactic convenience
Sulfur is experimental and under active development. The compiler, language specification, standard library, syntax, and semantics are still evolving. Breaking changes are expected, and current code should not be assumed to remain compatible with future versions.
Project documentation is available in doc/.
The MANIFEST.md describes the principles and constraints
that guide the language's design.
Sulfur is still being shaped.
Contributions, experiments, bug reports, and technical discussion are welcome. Keep in mind that parts of the language and compiler are not yet stable, and proposed changes may affect the design itself.
For more information, please read CONTRIBUTING.md and CODE_OF_CONDUCT.md.
Sulfur is experimental and does not currently guarantee memory safety. Compiler bugs, unsafe operations, manual memory management, and FFI may introduce security vulnerabilities.
If you discover a security vulnerability, please report it privately.
See SECURITY.md for the reporting process and security
policy.
Sulfur is released under the MIT License, found in LICENSE.
