Skip to main content
Jaya and its standard library are still under heavy development. This project is not production-ready yet.

Jaya Programming Language

Open source, fast, modern dynamic language, thoughtfully designed for applications, DSLs, and practical tooling with a clean syntax, compile-time macros, classes, pattern matching and more with a growing standard library.

Example
fn greet(name, title = 'Mx', **opts, &blk)
  prefix = opts.prefix || ''
  label = prefix + title + ' ' + name
  return yield(label) or label
end

export fn run()
  return greet(
    name='Ada',
    title='Dr',
    prefix='Hello, '
  ) do |value|
    return value + '!'
  end
end

Classes

Build application code with classes, inheritance, visibility, reflection, and a standard object model.

Macros

Write compile-time macros with explicit quote and unquote support, and generate real language constructs programmatically.

Control Flow

Use `if`, `unless`, `case`, `match`, `for`, `let`, and `try` with syntax designed to stay compact and readable.

Core Types

Strings, numbers, arrays, hashes, functions, classes, and modules expose practical methods through the prelude and stdlib.

Tooling

The compiler includes a REPL, test runner, AST output, generated-code inspection, and bytecode compilation.

Standard Library

Start with JSON, HTML, filesystem, math, testing, and the prelude, then grow into larger application modules.