All notable changes to the Codesi Programming Language will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
The first production-ready release of Codesi Programming Language!
Core Language Features
- Complete Hinglish syntax implementation
- Full lexer and parser system
- AST-based interpreter
- Support for all basic data types (integers, floats, strings, booleans, null)
- Dynamic typing system
- Variable scoping with scope stack
Control Flow
- If-else-elif statements
- While loops
- Do-while loops
- For loops (multiple syntax variants)
- ForEach loops with
har ... meinsyntax - Break and continue statements
- Switch-case statements with pattern matching
- Ternary operators
Functions
- Function definitions with
karyakeyword - Return statements with
vapas - Default parameters
- Variadic parameters (
...args) - Type annotations for parameters
- Lambda functions with arrow syntax
- Function closures
- Recursive functions
Object-Oriented Programming
- Class definitions with
classkeyword - Constructors with
banaokeyword - Instance methods
- Static methods
- Inheritance with
extends - Method overriding
yekeyword for self-referencesuperkeyword for parent access- Object instantiation with
new
Data Structures
- Arrays with comprehensive methods:
push(),pop(),shift(),unshift()map(),filter(),reduce()join(),slice(),reverse(),sort()
- Object literals with key-value pairs
- Nested data structures support
- Index access for arrays and objects
- Member access with dot notation
- Index and member assignment
Built-in Functions
Input/Output
likho()- Print outputinput_lo()- String inputint_lo()- Integer inputfloat_lo()- Float input
Math Operations
math_absolute()- Absolute valuemath_square()- Square rootmath_power()- Power functionmath_random()- Random numbersmath_niche()- Floor functionmath_upar()- Ceil functionmath_gol()- Rounding- Trigonometric functions (sin, cos, tan)
- Logarithmic functions (log, exp)
Type Checking
prakar()/type_of()- Get typestring_hai()- Check if stringarray_hai()- Check if arrayint_hai()- Check if integerfloat_hai()- Check if floatbool_hai()- Check if booleanobj_hai()- Check if object
Type Conversion
string_bnao()- Convert to stringint_bnao()- Convert to integerfloat_bnao()- Convert to floatbool_bnao()- Convert to boolean
Utility Functions
lambai()- Get lengthrange()- Create number rangesrepeatkr()- Repeat strings
File Operations
file_padho()- Read filefile_likho()- Write filefile_append()- Append to filefile_hai()- Check file existsfile_delete()- Delete filefile_copy()- Copy filefile_move()- Move filefile_size()- Get file sizedir_banao()- Create directorydir_list()- List directory contents
JSON Operations
json_parse()- Parse JSON stringjson_stringify()- Convert to JSON
Time Operations
time_now()- Current timestamptime_sleep()- Sleep/pause execution
String Methods
lambai()- Lengthbada_karo()- Uppercasechota_karo()- Lowercasesaaf_karo()- Trim whitespacetodo()- Split stringbadlo()- Replace first occurrencesab_badlo()- Replace all occurrencesincluded_hai()- Check if substring existsstart_hota_hai()- Check prefixend_hota_hai()- Check suffix
Error Handling
- Try-catch-finally blocks
- Throw statements
- Custom error messages
- Exception propagation
- Smart error messages in Hinglish
World-First Features
🪄 JAADU Auto-Correction System
- Automatic typo detection in function names
- Context-aware suggestions
- Intelligent word matching (60%+ similarity)
- Personalized error hints
- Enable with
--jaaduflag - Respects REPL commands (no false corrections)
🧠 Samjho Code Explainer
samjhao_on()- Enable explanation modesamjhao_off()- Disable explanationssamjhao()- View collected explanations- Explains assignments, operations, conditions
- Tracks if-elif-else logic
- Loop iteration tracking
- Function call tracking
- Return value explanations
- No AI/ML models required!
⏰ Time Machine Debugger
time_machine_on(max=100)- Activate with snapshot limittime_machine_off()- Deactivatetime_machine_status()- Check statuspeeche(steps)- Travel backwardaage(steps)- Travel forwardtimeline()- View complete execution history- Automatic snapshot creation
- Variable state restoration
- Deep copy support for arrays/objects
- Configurable snapshot limits
REPL (Interactive Mode)
- Multi-line input support (auto-detect
{}) - Command history (
!!for last,!nfor specific) help()- Show helpvars()- List all variableshistory()- View command historyclear()- Clear screenexit()/quit()- Exit REPL- JAADU mode support in REPL
- Smart error recovery
- Variable persistence across commands
- Professional prompt design
Operators
- Arithmetic:
+,-,*,/,%,**(power) - Comparison:
==,!=,<,>,<=,>= - Logical:
aur(and),ya(or),nahi(not) - Assignment:
= - Compound assignment:
+=,-=,*=,/=
Keywords
- Control:
agar,nahi_to,ya_phir,jabtak,karo,har - Functions:
karya,vapas,lambda - OOP:
class,banao,ye,super,extends,static,new - Error handling:
try,catch,finally,throw - Values:
sach,jhooth,khaali - Logic:
aur,ya,nahi - Loops:
se,tak,mein,ke,liye - Switch:
case,default - Others:
break,continue,const
Command-Line Interface
python codesi_production.py- Start REPLpython codesi_production.py file.cds- Run file--jaaduflag - Enable auto-correction--debug/-d- Debug mode (tokens + AST)--help/-h- Show help--version/-v- Show version
Documentation
- Comprehensive README.md
- Installation guide
- Quick start guide
- Complete syntax reference
- Built-in functions documentation
- Multiple learning paths (Basics → Intermediate → Advanced)
- Example programs
Code Quality
- Single-file architecture (~2,500 lines)
- Zero external dependencies
- Clean code structure with dataclasses
- Type hints throughout
- Comprehensive error handling
- Production-ready exception system
Performance
- Efficient lexer with O(n) tokenization
- Optimized parser with recursive descent
- Scope stack for fast variable lookup
- Deep copy optimization for Time Machine
- Snapshot limit management
- Index assignment for arrays and objects
- Member assignment for object properties
- Proper error messages for invalid assignments
- Float conversion handling for strings
- Array method snapshot tracking
- Escape sequence handling in strings
- Expression validation in assignments
- Input sanitization for file operations
- Safe eval (no Python eval() used)
- Controlled scope access
- Error message sanitization
- Optimized token matching
- Efficient scope chain traversal
- Smart snapshot management with limits
- Minimal memory footprint
| Version | Release Date | Highlights |
|---|---|---|
| 0.0.1 | 2025-10-XX | 🎉 Initial production release |
No migration needed - this is the first stable release!
- Rishaank Gupta (@rishaankgupta) - Founder and Lead Developer
- Complete language design and implementation
- World-first features: JAADU, Samjho, Time Machine
- Documentation and examples
- Built entirely on mobile phone at age 15
Each release follows this structure:
- Added: New features
- Changed: Changes to existing functionality
- Deprecated: Soon-to-be removed features
- Removed: Removed features
- Fixed: Bug fixes
- Security: Security improvements
For questions about specific versions:
- Check the Documentation
- Open an Issue
- Join our community discussions
Note: This changelog follows Semantic Versioning:
- Major (X.0.0): Breaking changes
- Minor (0.X.0): New features, backward compatible
- Patch (0.0.X): Bug fixes, backward compatible