Hello! I'm LunaStev, the developer of Wave.

We are excited to launch Loa 'v0.0.1-alpha' —
Loa is a programming language focused on simplicity, readability, and ease of use. It is an interpreted language with a clean and minimal syntax, designed to make programming accessible and straightforward.

Loa supports basic programming constructs such as variables, conditionals, loops, and functions, making it suitable for a wide range of general-purpose tasks.


📐 Language Specification Updates

🧠 Basic Syntax and Structure Introduced

  • Loa now supports essential language features for scripting and simple application development:

    • Variable assignment without type declaration (e.g., x = 10)
    • Indentation-based block structure (no {} needed)
    • UTF-8 fully supported for strings (e.g., Korean, Japanese)
    • Basic expressions with arithmetic and comparison operators
  • This foundation enables readable, simple, and lightweight coding experiences.

✅ Added Features

🧠 Core Language Features

  • Lexer, Parser, and Interpreter fully implemented

  • Support for:

    • Variable assignment
    • Arithmetic operations (+, -, *, /)
    • Comparison operations (<, >, ==, !=)
    • print function with multiple arguments
    • while loops
    • if / else if / else conditional structures
    • Unicode (UTF-8) string handling

🧠 REPL (Read-Eval-Print Loop) Environment

  • Interactive REPL for immediate code execution

  • Supports variable declarations and expressions inside REPL

🔧 Bug Fixes

🐞 UTF-8 Handling in Lexer

  • Fixed issues where non-ASCII characters (e.g., Korean) caused tokenizer crashes

  • Lexer now correctly advances and peeks UTF-8 multi-byte characters

🐞 Indentation-Based Block Parsing

  • Fixed parsing issues where inconsistent Indent/Dedent handling caused parsing failures

  • Parser now correctly recognizes Indentation as block start/end

✨ Other Changes

🧠 WaveError-based Error System Integration

  • Syntax errors now use a structured error format

  • Error messages include file name, line, and column information (basic version)

🧠 Initial Target Binary Releases

  • Built binaries for:

    • Linux aarch64
    • Linux x86_64 (GNU and MUSL)
    • Windows x86_64

Thank you for using Loa! Stay tuned for future updates and enhancements.


Contributor

@lunastev | 🇰🇷


Website

Website
GitHub
Ko-fi