top | item 46427289

(no title)

1 points| DanexCodr | 2 months ago

discuss

order

DanexCodr|2 months ago

# Changelog

## [v0.4.0] - Infinite Possibilities - December 21, 2025

### Breaking Changes

- *Removed `input` and `output` keywords* - Replaced with method calls `Sys.in(...)` and `Sys.out(...)`.

### Major Features

- *Class Inheritance* - Added class inheritance with the `is` keyword. - *Class Constructors* - Added class constructors using `this` as a special method name. - *Class Calling* - Added support for direct class calling. - *Flexible Control Flows* - Enhanced control flow structures to be more flexible while maintaining safety. - *Enhanced Loop Safety* - Added checks to prevent loop steps of 0 and ensure loops do not reverse from their stated start and end direction. - *External Array Iteration* - Added support for iterating over external arrays within loops. - *Builtin Method Syntax* - Removed the requirement for `{}` bodies for builtin methods. - *Dedicated Registry Classes* - Added separate Registry classes for Builtin and Global methods. - *Global I/O Methods* - Added `in()` and `out()` as both Builtin and Global methods for accessibility.

### Engine & Parser Improvements

- *Fixed BinaryOpNode Bug* - Resolved a deeply hidden bug in the BinaryOpNode. - *Optimized Array Iteration* - Added formula-based loops for O(1) iteration over natural arrays. - *Proper Code Instantiation* - Fixed issues related to code instantiation.

---

## [v0.3.0] - The Design Leap - December 15, 2025

### Breaking Changes - *Completely abandoned `~|` to instead use `::` return slot operator* - Embracing suffix-style design, fully abandoning the prefix-style. - *Replaced the stack-based multi-arch compiler with a TAC IR* - Ensuring lesser systemic bugs to show. (ongoing, not yet prioritized) - *Almost all classes renamed updated, and repackaged* - Full refactoring of classes and their packages for more cleaner view. - *Fully removed ANTLR Dependency* - To focus on the language implementation and lessen dependencies. - *Replaced `<type><ws><name>` to use `<name><colon><optional-ws><type>` instead for variable declaration.* - `name: type` for declaration, `name: type = value` for explicit declaration and assignment, `name := value` for inferred declaration and assignment,`name = value` for reassignment

### Major Features - *Three World System* - Added three distinct types of programs for Coderive: Script, Method-only, and Module. - *From String to Text* - Replaced the previous `string` keyword with `text`. - *Natural Array* - Added supports for range for arrays - Lazy array generation - Immutable by default but can be mutable (Note: "Use moderately") - Supports text as natural array. - *Added numeric shorthands* - Added support for common numeric shorthands: `K, M, B, T, Q, Qi, e` - Case for this feature will be case-sensitive. - *Added parameter skipping and named arguments support*

> Check for other new minor features if you have free time...

### Documentation - Updated all demo files showcasing the new updates - Added `ParamSkipDemo.cod` file for testing parameter skipping.

---

## [v0.2.3] - The Great Logic Revolution - November 23, 2025

### Breaking Changes - *Completely abandoned `&&` and `||` operators* - Embracing quantifier-first design

### Major Features - *Quantifier-First Logic System* - Replaced traditional boolean operators with expressive quantifiers - `any[]` and `all[]` syntax for clear, intentional logic - Natural language syntax that lowers learning curve - Eliminates common operator precedence mistakes

### Syntax Evolution

```kotlin // Clean, consistent bracket-based syntax if any[isReady, hasBackup, forceMode] if all[scores >= 60, !isFailed, attempts < 3] user == any[admin, moderator, owner] ``` ...