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.1.tar.gz (26.9 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.1-py3-none-any.whl (28.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: novalang-1.0.1.tar.gz
  • Upload date:
  • Size: 26.9 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.1.tar.gz
Algorithm Hash digest
SHA256 998590bb9e010583089bd01bcd4c7fca7b21325b4586478b88a6e6c8f0ab89b7
MD5 8a6f3340b380b44acd3f152cfd56e1a7
BLAKE2b-256 36e15ff5ef44c54e4901941e9d1c967454bf787fd9547e0f94fe43071d7405bb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: novalang-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 28.4 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d901561e3c701d51e1d92f951d09fbbd83a54e2c19a84f2f2778b1385ee99b4b
MD5 b2b01f76e8b38ae63f6096a080a9f591
BLAKE2b-256 a3017ac14bd85e8365b8b15239e769ef43005ab86a236ad16c3fdcecab0ae93a

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