1.1 Core Concepts and Goals
TweetyLang is built around several fundamental principles and objectives:
- Developer Experience
TweetyLang heavily emphasises a strong developer experience. The language and its relative implementation/toolchain should be intuitive, as frictionless as possible, and predictable.
- Portability
TweetyLang is designed to run across platforms and environments. Its architecture should enable code that can be deployed without relying on a runtime environment, external dependencies, or Just-In-Time compilation.
- Memory Safety
The language provides language-integrated options for writing memory safe code whilst still exposing 'legacy' memory models (i.e., raw pointers) to interop with non-memory safe code.
- Language Interoperability
The language should provide capability to integrate with assemblies produced by other languages, offering first class support for native assemblies.