simplescript-lang
v0.8.0
Published
The simple, plain-text programming language built on TypeScript.
Maintainers
Readme

The Plain-Text Programming Language
SimpleScript (.sim) is a modern, plain-text-first programming language built on TypeScript. Its core design philosophy is maximum readability and minimal syntax (avoiding symbols like semicolons, braces, and parentheses wherever possible).
This repository contains the complete Lexer, Parser, and Evaluator, packaged as an installable npm tool.
Message for Visual Studio Code users
We now officially have a VSCode Extension!
Get our SimpleScript Syntax extension which comes with:
- Syntax Support so your code wont show up with errors
- Custom SimpleScript file icon for your .sim files
Get it here
✨ Features
- Plain English Syntax: Logic flows like written instructions (Show "Hello" instead of console.log("Hello")).
- Complete Control Flow: Includes If statements, While loops, and For each iteration.
- Functions (Routines): Supports reusable code blocks with To...with and GiveBack (return).
- Data Structures: Supports native Lists and Maps (dictionaries).
- Error Handling: Implements Attempt... If Failed structure for robust runtime execution.
📦 Installation
SimpleScript is available as a global command-line tool via npm.
npm install -g simplescript-lang
🐛 Known Errors
The core language is feature-complete and we have fixed this bug we will update this with future persistent bugs as they show up!
We welcome contributions to fix this core parsing bug!
🚀 Usage
You can execute any SimpleScript file (.sim) directly from your terminal using the ss command.
# Example: Create a file named 'hello.sim'
# Run your program:
ss hello.sim
🤝 Contributing
We encourage you to clone this repository, debug the control flow in the parseBlockStatement method in parser.ts, and submit a pull request!
- Clone the project: git clone [email protected]:yourusername/simplescript.git
- Install dependencies: npm install
- Test locally: Run the built CLI against the buggy example: node dist/cli.js main.sim
