Releases: ShellLite/ShellLite
ShellLite v0.6.0 - Native Compilation & Language Server
ShellLite v0.6.0
ShellLite v0.6.0 is here! This release brings massive performance gains, professional IDE support via LSP, and expanded platform compatibility.
Highlights
- LSP Server Implementation: Language Server Protocol (LSP) support for IDEs (VS Code, etc.), enabling professional features like "Go to Definition" and real time linting.
- Optional Static Typing: Declare types for better performance and safety (e.g.,
x as int = 5). - An update on the cli tool
Improvements & Fixes
- Cross Platform Support: Improved compatibility for Linux and macOS.
- Global Installer: Updated
shl installcommand for easier system PATH setup on Windows and Unix. - Optimized REPL: Faster startup and better hint system for interactive coding.
Installation
pip install shell-litev0.5 LLVM performance Update
I am proud to announce the release of ShellLite v0.05, a major milestone in our journey towards a high-performance, English-like programming language.
Key Feature: LLVM Backend Integration
The primary focus of this release is the integration of a new high-performance LLVM backend.
- True Compilation: The
shl compilecommand now directly transpiles ShellLite code to LLVM IR (.ll). - Native Performance: By compiling to machine code via Clang, scripts bypass the Python interpreter overhead entirely.
- Simplified Workflow: No additional flags are required. Simply run
shl compile <script.shl>to generate the Intermediate Representation.
Usage Example
# 1. Compile your script to LLVM IR
shl compile benchmark.shl
# 2. Output confirmation
# [SUCCESS] Generated LLVM IR: benchmark.ll
# 3. Build executable with Clang
clang benchmark.ll -o benchmark.exe
# 4. Run native binary
./benchmark.exeMade by Shrey Naithani
v0.04.6: Critical Fixes
This release addresses critical issues found in the v0.04.x deployment and solidifies the "Bridge" and "Canvas" features.
Bug Fixes
- Critical Crash Fix: Resolved "ModuleNotFoundError: No module named shell_lite.interpreter_final" which prevented the CLI from starting.
- Parser Upgrade: Fixed "Unexpected token BUTTON" and other UI parsing errors. The parser now correctly whitelists and handles HTML-style attributes like ONCLICK, REL, CHARSET, and CONTENT.
- Website Compatibility: Verified full compatibility with the ShellLite Website codebase.
Features
- The Bridge: Native Python interoperability remains fully intact.
- The Canvas: UI input tags now correctly support placeholder and value attributes.
Installation
pip install shell-lite==0.04.6
# or for isolated environments:
pipx install shell-lite==0.04.6 --forcev0.04- Project Polaris: The Powerhouse Update
Project Polaris: ShellLite Reimagined
This is the biggest update in ShellLite's history. We've transitioned from a scripting tool to a complete language platform with Universal Python Interop, Native UI, and a Package Manager.
The Bridge (Python Interop)
Use the entire Python ecosystem directly within ShellLite.
use python "math"
use python "json" as j
say math.pi # 3.14159...
data = j.loads("[1, 2, 3]") # Pure Python functionality
The Canvas (Declarative UI)
Build native desktop applications with zero boilerplate.
app "My Polaris App" size 400 300:
column:
heading "It works!"
button "Click Me" do:
alert("Hello from ShellLite!")
The Universe (Package Manager)
Manage dependencies effortlessly.
shl init: Create a new shell-lite.toml project.
shl install: Install dependencies automatically.
shl install user/repo: Add packages from GitHub.
Other Improvements
Improved REPL: Syntax highlighting and history (via prompt_toolkit).
Enhanced Installer: Robust global path setup.
Better Error Handling: "Did you mean?" suggestions for typos.
Code like you think.
v0.03.3 The "File System Mastery"
New Features
1. File System Mastery
You can now read, write, and append to files using simple English. No complex file handles or context managers needed.
Write to a file
write "System Log Entry: Start" to file "system.log"Append to a file
append "\nError: Connection failed" to file "system.log"Read a file
content = read file "system.log"
say content2. Natural Logic & Comparisons
Code should read like a sentence. We added new comparison operators to make logic flows smoother.
score = 85
if score is at least 80
say "Distinction"
if score is less than 50
say "Fail"3. The Files Module (Internal)
Added shell_lite.src.runtime enhancements to handle file encoding and safe IO operations.
Fixes & Improvements
- Installer Fix:
shl installnow correctly detects the script location. - REPL Improvements: Better error messages for syntax errors during interactive sessions.
v0.03.2 The Web Development Fix
What's New in v0.03.2
This update focuses on making Web Development and List Management feel like a natural conversation.
English-Like Web DSL
- Natural Routing:
when someone visits "/dashboard"orwhen someone submits to "/add". - Declarative Pages: Use
define page Headeranddefine component TaskList using tasksfor clean UI structure. - Simplified Server: Just say
start server on port 8080. - Native Tags: Use heading, paragraph, and
imageinstead of raw HTML calls.
Smart Global Installer
- One-Click PATH Setup: Running shl.exe now automatically offers to install itself globally.
- shl Command: Access ShellLite from any terminal folder instantly.
English Collections
- Initialize lists naturally:
tasks is a list. - Initialize dictionaries:
user is a dictionary. - Natural count:
show count of itemsorhow many items.
REPL Enhancements
- Multiline Support: Use
\at the end of a line to continue your code on the next line. - Smart Hints: Friendly help when you're already inside the ShellLite environment.
Bug Fixes
- Fixed path resolution issues in bundled executables.
- Improved error reporting for natural language constructs.
v0.03 - Utilities & Web and v0.03.1 Desktop Automation
Advanced Features (v0.03) - Utilities & Web
Colored Output
Enhance your terminal output with natural language styling.
Supported colors: red, green, blue, yellow, cyan, magenta, bold.
say in red "Error!"
say bold green "Success!"Progress Bars
Automatically visualize loops with a progress bar.
show progress for i in range 1 100
wait 0.1 # Simulate workData Conversion
Convert objects to JSON strings easily.
data = { name: "ShellLite", id: 1 }
json = convert data to jsonTask Scheduling
Schedule code execution using natural timing phrasing.
# Run after a delay
in 10 seconds
say "Time is up!"
# Run periodically
every 5 minutes
say "Heartbeat..."Simple Web Server
Create a basic web server with route handlers.
on request to "/hello"
give "Hello World"
listen on port 8080Desktop Automation (v0.03.1)
ShellLite now supports powerful desktop automation and data handling.
Date & Time
Natural date handling for scheduling.
deadline = date "next friday"
if today is after deadline
say "Late!"File Operations
Download files and manage archives.
download "https://example.com/data.zip"
extract "data.zip" to "data_folder"
compress folder "backup" to "backup.zip"CSV Handling
One-line CSV reading and writing.
users = load csv "users.csv"
say users[0]["name"]
save users to csv "backup_users.csv"System Automation
Control your mouse, keyboard, and clipboard.
(Requires keyboard, mouse, pyperclip, plyer packages)
copy "Hello" to clipboard
text = paste from clipboard
type "Hello World"
press "enter"
click at 100, 200
notify "Task Done" "Script finished successfully."ShellLite v0.02.1: Code that speaks your language
This update focuses on making ShellLite even more human-readable by introducing "Natural Syntax" features. You can now write logic that reads almost exactly like an English sentence.
New Features
- Natural Comparisons: Say exactly what you mean.
if score is at least 100(instead of>=)if count is less than 5(instead of<)if name is exactly "Admin"(instead of==)
- Descriptive Collections: Define data naturally.
fruits = a list of "apple", "banana"ids = a unique set of 1, 2, 3
- Readable Waits: Pause execution with clarity.
wait for 5 seconds(instead of justwait 5)
- Filler Words: The engine now intelligently ignores common filler words like
the, allowing for more fluid phrasing.if the user is activeworks just likeif user is active.
Maintenance
- Cleaned up repository structure (removed temporary folders).
- Updated documentation to reflect Natural Syntax options.
Made by Shrey Naithani
Introducing ShellLite v0.02: Advanced Automation Features
This release introduces 7 major new features to the ShellLite language, expanding its capabilities for modern scripting and automation.
What's New?
- Native GUI Support: Built-in support for alert, prompt, and confirm dialogs (using tkinter).
- Regular Expression Literals: Search and validate text with first-class Regex support: email matches /^[a-z]+@/.
- File System Watcher: React to file changes in real-time with the on file_change statement.
- Async / Await: Run non-blocking background tasks with spawn and await.
- Sets Data Structure: Native support for collections of unique items.
- Runtime Type Hints: Optional type safety for function arguments: to add a:int b:int.
- Improved String Interpolation: Full expression support inside curly braces: "Hello {user.name}, the result is {5 + 5}".
Improvements
- Documentation updated with a new "Advanced Features" section.
- Optimized Lexer for regex disambiguation.
- Enhanced Interpreter for thread-safe background execution.
Made by Shrey Naithani