High-impact enhancements focused on advanced developer tooling, community interaction, and deeper analytics for the Salam Playground
#1,251 opened on Jun 28, 2026
Repository metrics
- Stars
- (28 stars)
- PR merge metrics
- (PR metrics pending)
Description
https://salamlang.github.io/Salam/
Here are 6 additional, high-impact enhancements focused on advanced developer tooling, community interaction, and deeper analytics for the Salam Playground:
Task List
- 1. Pre-Commit Style & Linting Toggle (Auto-Format)
- 2. Live Standard Input (stdin) Execution Stream
- 3. Core Engine Benchmarking & Performance Analytics
- 4. Interactive "Click-to-Fix" Error Diagnostics
- 5. Multi-File Compilation Support (Virtual Workspace)
- 6. 🔗 Shareable Deep-Linked Snippets (URL Hydration)
1. Pre-Commit Style & Linting Toggle (Auto-Format)
Since the main repository enforces robust pre-commit hooks and code style standards, bringing that same linting ecosystem straight into the browser is a massive quality-of-life win.
- The Feature: Add a "Format" button (or trigger it on
Ctrl + S / Cmd + S) next to the execution controls. - The Behavior: Run your language's native formatter/linter directly on the editor payload and instantly clean up indentation, spacing, and structural style anomalies without reloading.
- Why it's cool: It teaches developers the official, accepted coding idioms of Salam before they ever write a file locally, ensuring their code is repository-ready.
2. Live Standard Input (stdin) Execution Stream
A lot of browser playgrounds only support running code linearly with static outputs, which makes testing interactive systems or custom command-line tools impossible.
- The Feature: Provide a separate "Standard Input" console block or prompt stream below or beside the main code editor.
- The Behavior: When the Salam compiler runs a program that requests user input or interactive arguments, the terminal stream pauses dynamically, allowing the user to type values directly into the console to test control flow forks.
- Why it's cool: It fully opens the door to evaluating interactive systems tools, terminal games, and input-dependent algorithms right in the browser.
3. Core Engine Benchmarking & Performance Analytics
Systems programmers care deeply about speed, memory consumption, and optimization vectors.
- The Feature: Add a "Metrics" or "Performance Profile" panel inside the terminal execution output.
- The Behavior: Calculate and cleanly display metrics right after a run completes: exact parse times, execution duration (in milliseconds or microseconds), and estimated memory footprints.
- Why it's cool: It transforms the playground from a simple code previewer into an open-source sandbox where developers can visibly benchmark code optimizations and prove Salam's raw performance claims.
4. Interactive "Click-to-Fix" Error Diagnostics
Compiler errors can be overwhelming when they appear as standard flat text files in a dark terminal frame.
- The Feature: Integrate rich compiler diagnostics with the source code editor layer.
- The Behavior: Parse the line and column data from the Salam compiler output to underline problematic lines in red or orange. Clicking the error in the output panel automatically scrolls the editor to the exact line and provides an inline, human-readable tip on how to resolve the syntax issue.
- Why it's cool: It provides an exceptionally smooth, accessible onboarding experience for developers learning the language mechanics for the first time.
5. Multi-File Compilation Support (Virtual Workspace)
As codebases grow, testing real-world software design often requires splitting architecture across separate files or modules.
- The Feature: Add a mini sidebar file explorer to the left of the code pane (e.g.,
main.salam,config.salam). - The Behavior: Allow users to create, delete, and rename virtual files in an in-memory file system, passing the whole collection downstream to the web compiler workspace pipeline simultaneously.
- Why it's cool: It allows developers to test complex project modularity, multi-file imports, and extensive domain-specific language configurations without forcing them into a single massive, unreadable text file.
6. 🔗 Shareable Deep-Linked Snippets (URL Hydration)
Make code snippets instantly shareable across GitHub issues, Discord chats, or documentation files.
- The Feature: Compress the current contents of the text editor into a URL hash using a fast client-side encoder like
LZMAorBase64(e.g.,salamlang.github.io/Salam/#code=bXlfY29kZV...). - The Behavior: Add a "Share Code" button that updates the URL and copies it to the user's clipboard. On page load, check for the hash parameter and immediately populate the editor.
- Why it matters: It turns the playground from an isolated scratchpad into a collaborative open-source communication utility for tracking language bugs and sharing creative DSL examples.