Skip to main content

NovaLang - A modern, functional programming language

Project description

NovaLang 🚀

A modern, functional programming language designed for the future.

PyPI version Python Support License: MIT

✨ Features

  • Modern Syntax: Clean, readable syntax inspired by the best of JavaScript and Python
  • Functional Programming: First-class functions, lambdas, higher-order functions
  • Rich Standard Library: Built-in functions for arrays, strings, math, JSON, and more
  • VS Code Support: Full syntax highlighting and code snippets
  • Interactive REPL: Easy development and testing
  • Cross-Platform: Runs on Windows, macOS, and Linux

🚀 Quick Start

Installation

pip install novalang

Your First NovaLang Program

Create a file hello.nova:

// Variables and functions
let name = "World";
function greet(person) {
    return "Hello, " + person + "!";
}

print greet(name);

// Higher-order functions
let numbers = [1, 2, 3, 4, 5];
let doubled = map(numbers, function(x) { return x * 2; });
print "Doubled: " + stringifyJSON(doubled);

Run it:

novalang hello.nova

3. Example

print("Hello, NovaLang!")

Project Structure

  • main.py — CLI entry point
  • lexer.py — Tokenizer
  • parser.py — AST builder
  • interpreter.py — Code executor
  • test.nova — Example NovaLang file

Contributing

Pull requests and issues are welcome!

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

novalang-1.0.0.tar.gz (21.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

novalang-1.0.0-py3-none-any.whl (22.3 kB view details)

Uploaded Python 3

File details

Details for the file novalang-1.0.0.tar.gz.

File metadata

  • Download URL: novalang-1.0.0.tar.gz
  • Upload date:
  • Size: 21.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for novalang-1.0.0.tar.gz
Algorithm Hash digest
SHA256 e8423833a870eb87423f16af90c512408fd48990755191158538d7fbe98cd0ff
MD5 ef918924e236f51f67ee03151e677482
BLAKE2b-256 a60c29e7cc605174b74721b00606c93eb09b5ce54301c45b493c297b8ec5bd83

See more details on using hashes here.

File details

Details for the file novalang-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: novalang-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 22.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for novalang-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0bbe44995a1be8798026b1a967664609878e1105d1f369ec9f53fa446a281a1b
MD5 6d01b3e4850040782156ce6841b3954c
BLAKE2b-256 7649676023c98b6c9d86b54f05ee9d70f91e744d0b68f5e86706f8d6e3418b37

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page