Skip to main content

A golfing language that has aspects of traditional programming languages.

Project description

Vyxal Logo

Test status Pypi Monthly Downloads Last Commit Contributors

Vyxal is a stack and array based golfing language experience that takes the idea that conciseness comes at the cost of practicality and throws it out the window. That's right - where other golflangs throw you into the deep-end of keyboard mashing, Vyxal eases you into the concept of elegantly crafting built-ins into a functioning program.

And yes, this design goal really does warrant adding another golfing language into the already densely populated mix of golflangs. If you go and take a look at the current state of the art of golfing languages, you'll find that 99% of languages are either a) powerful and concise, but not easy to pick up or b) easy to learn, but not that useful for anything non-trivial (I say this as someone who's made and contributed to both kinds of languages). Vyxal aims to bridge the gap between simplicity and "golfability".

Installation

You can also use the online interpreter with no need to install!

If you only want to run Vyxal, all you need to run is this:

pip install vyxal

If you are working on Vyxal, install Poetry, and then you can clone this repo and run:

poetry install

If you want to test the latest commit of Vyxal without using Poetry, create a virtual environment, activate it and run:

pip install git+https://github.com/Vyxal/Vyxal@main

Then, remember to use python.exe instead of python3.

Usage

To run using the script:

vyxal <file> <flags (single string of flags)> <input(s)>

If you're using Poetry:

poetry run vyxal <file> <flags (single string of flags)> <input(s)>

To run from a file inside a Python script:

import vyxal.main
vyxal.main.execute_vyxal("file", "flags (single string of flags)", ["inputs"])

or to run code inside a Python script:

import vyxal.main
vyxal.main.execute_vyxal("code", "e", ["inputs"])

To run tests, install pytest and simply run pytest tests.

Why Vyxal?

Vyxal is designed to be easy to use coming from practical programming languages like Python and C, and borrows many concepts from those, such as variables, functions, conditionals and loops, comments and more. Despite this, it's also heavily optimised for golfing, with a large library of powerful builtins that can easily be chained to complete the task at hand. For more information, see the tutorial.

Links

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

vyxal-2.22.4.3.tar.gz (9.0 MB view details)

Uploaded Source

Built Distribution

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

vyxal-2.22.4.3-py3-none-any.whl (9.0 MB view details)

Uploaded Python 3

File details

Details for the file vyxal-2.22.4.3.tar.gz.

File metadata

  • Download URL: vyxal-2.22.4.3.tar.gz
  • Upload date:
  • Size: 9.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for vyxal-2.22.4.3.tar.gz
Algorithm Hash digest
SHA256 bc0040c39bc834e37dd62632a230c83e258b69a15cad38d6580a9bd230e56e55
MD5 728193b9270db9ab1955172dab3edaf0
BLAKE2b-256 2a692ab42f94a2fbca41dd8a7b75ec39b2326b6e15fde3ce03bf947d82672525

See more details on using hashes here.

File details

Details for the file vyxal-2.22.4.3-py3-none-any.whl.

File metadata

  • Download URL: vyxal-2.22.4.3-py3-none-any.whl
  • Upload date:
  • Size: 9.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for vyxal-2.22.4.3-py3-none-any.whl
Algorithm Hash digest
SHA256 ef849e1b849f0071b56a7168aecaea4698af0bc1e10ae4e7ed0bf0d2f2f5fb5c
MD5 5c47a19be1d9e84c49be6e7354ec4358
BLAKE2b-256 fff0f0c4eda704ecf350ef81271cc735b8861a30749a5a1db56a49cf50a46e29

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