Skip to content

Repository files navigation

CI Stars Forks Issues Last Commit License

⟨ Sulfur ⟩

A low-level, systems-oriented programming language focused on explicit behavior, predictable execution, and direct control over memory.

Performance · Safety · Predictability · Explicitness · Determinism · Control

🧭 Design

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.

🎯 Goals

  • 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

🚫 Non-Goals

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

🛠️ Current Status

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.

📚 Documentation

Project documentation is available in doc/.

The MANIFEST.md describes the principles and constraints that guide the language's design.

🤝 Contributing

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.

🔒️ Security

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.

📄 License

Sulfur is released under the MIT License, found in LICENSE.

About

A systems programming language built around explicitness, predictability, and control.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

13 stars

Watchers

1 watching

Forks

Releases

Contributors

Languages