Skip to content

v1.1.0

Latest

Choose a tag to compare

@oopsio oopsio released this 30 Mar 15:59
· 16 commits to master since this release

Changelog - Peel Programming Language

[v1.1.0] - 2026-03-30

Added

  • SQLite Standard Library (sqlite):
    • Integrated rusqlite for high-performance database interactions.
    • sqlite.open(path): Opens a database connection (supports ":memory:").
    • Connection.execute(sql, params): Executes mutation statements.
    • Connection.query(sql, params): Executes queries and returns an Array of Objects.
    • Connection.close(): Manually closes connections.
  • Loop Support:
    • Implemented for .. in .. loop syntax in the parser and interpreter.
    • Implemented while loop syntax for conditional iteration.
  • SQLite Demo: Added examples/sqlite_demo.pel to showcase database usage.

Improved

  • Type System:
    • Added support for Heterogeneous Arrays (e.g., ["Alice", 95.5, true]). The type checker now falls back to Unknown for mixed-type lists instead of erroring out.
    • Robust String Concatenation: The + operator now supports concatenating String with any other type (Int, Float, Bool, Void, etc.) by automatically stringifying the right-hand/left-hand sides.
  • Standard Library Registration: Unified sqlite registration across the runtime interpreter and the type checker.

Fixed

  • Fixed a parser bug where For and While keywords were present in the lexer but caused "Unexpected token" errors during parsing.
  • Resolved type mismatch errors when printing mixed database results.