From 54c483bdd4fb035f69235b68765042bdaf289b47 Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Tue, 19 May 2026 15:36:22 +0200 Subject: [PATCH] Updated limitations --- content/docs/limitations.mdx | 63 +----------------------------------- 1 file changed, 1 insertion(+), 62 deletions(-) diff --git a/content/docs/limitations.mdx b/content/docs/limitations.mdx index b55f7fe..2ac5442 100644 --- a/content/docs/limitations.mdx +++ b/content/docs/limitations.mdx @@ -6,65 +6,4 @@ icon: TriangleAlert Mist is currently in a **Volatile Alpha** stage. Our current priority is exploring **Syntax and Features**. We believe in stabilizing the developer experience and the "feel" of the language before locking in the deep architectural logic of the compiler. ---- - -## The "Syntax-First" Philosophy - -Mist is currently in a phase of rapid iteration. We are intentionally keeping the **Semantics** flexible while we finalize the **Syntax**. - -* **The Goal:** Finalize a robust, ergonomic feature set first. - - -* **The Reasoning:** Implementing complex semantic analysis while features are still being added is inefficient. By stabilizing the syntax first, we ensure that adding full semantic depth becomes a cohesive, "single-step" process later in development. - - - ---- - -## Current Technical Trade-offs - -To allow for this rapid syntax exploration, the compiler currently uses a "Shim" model for certain complex Rust operations. - -### 1. The Construction Model - -To support Mist's unified **Class and Constructor** model, the compiler uses an experimental memory initialization pattern. - -* **Mechanism:** The compiler generates a "shell" using `MaybeUninit`, allowing `self` to be used inside the constructor logic. - - -* **Limitation:** Because full **Definite Assignment Analysis** (semantics) is not yet implemented, the compiler does not verify that every field is assigned. It currently relies on zeroing out memory as a placeholder. - - -* **Future Fix:** Once the syntax is frozen, we will implement the semantic checks required to generate standard, safe Rust struct literals. - - - -### 2. Inheritance - -Inheritance is a major planned feature but is currently **not implemented**. - -* **Status:** The syntax for inheritance is being designed, but it will not be functional until the semantic analyzer is built to handle v-tables and memory layouts in the emitted Rust code. - - - ---- - -## Feature Volatility - -Be aware that because we are focusing on syntax, keywords and structures may change between minor versions. Currently: - -* **Access Modifiers:** `pub` and private defaults are being tested for various contexts (classes vs. structs, or `pub(crate)`). - - -* **Pointers vs. References:** The `*` syntax for references (e.g., `self mut*`) is the current standard but is subject to refinement based on ecosystem feedback. - - -* **Trait Implementations:** The "In-Class" `impl` block is a core feature we are prioritizing for ergonomics. - - - ---- - -> **Alpha Warning:** Mist is currently a playground for defining a better way to write systems code. Expect breaking changes as we finalize the surface layer of the language. -> -> +You may encounter weird illogical syntax errors, please report them at https://github.com/mist-go/mist/issues with the context.