An almost fully customizable language made in python!

Overview

What is whython?

An almost fully customizable language made in python!

Whython is a project language, the idea of it is that anyone can download and edit the language to make it suitable to what they want. This could be a change that makes it more like a language they know; a change that makes it easier for new people to learn the language; or even a change that makes it into a shitpost, it doesn't matter. You have the control!

How to run

  1. Download whython
  2. Run shell.py
  3. Have fun!

What can whython do?

At the point of writing this (the first main push) you can change anything in the file editable.py. This means you can change all the keywords (except = - / * ^) and all the builtin function names.

Keywords

For example, you may not like creating a variable like this:

var x = 10

and so you can change KEYWORDS_DICT["var"] to "let" and create a variable like this:

let x = 10

img.png
to
img_1.png

If you want to be super quirky you can even use emojis in the KEYWORDS_DICT and make some horrible emoji language!

Builtin functions

You may hate calling print like this:

print("Hello, World!")

and so you can change the global_symbol_table to be "shout" and print like this:

shout("Hello, World!")

img.png
to
img_1.png

Syntax

Sometimes it can be annoying typing out:

var x = 10

so you may want this:

x = 10

To do this change:
img.png
to
img_1.png

Todo

There are a couple of builtin function that have not been created yet, this will be done in the future.

  • to_str
  • to_int

What are the plans?

I am planning to allow more control, for example a way to change all grammar rules and also easily add builtins (right now its kind of tedious).

How can I contribute?

Either create a request on GitHub or message me on discord Nexin#0001 to ask for new features.

Background

This project was meant to be something small to learn about how languages run, but now it's a little more than that. I was originally following codepulse's tutorial on YouTube but have since change a lot of the grammar rules and made it easier to debug.

You might also like...
A simple language for new programmers and a toy language ;)
A simple language for new programmers and a toy language ;)

Yell An extremely simple, yet powerful language for new programmers, as well as a toy language ;) Explore the docs » Report Bug · Request Feature Yell

A C-like hardware description language (HDL) adding high level synthesis(HLS)-like automatic pipelining as a language construct/compiler feature.
A C-like hardware description language (HDL) adding high level synthesis(HLS)-like automatic pipelining as a language construct/compiler feature.

██████╗ ██╗██████╗ ███████╗██╗ ██╗███╗ ██╗███████╗ ██████╗ ██╔══██╗██║██╔══██╗██╔════╝██║ ██║████╗ ██║██╔════╝██╔════╝ ██████╔╝██║██████╔╝█

A Python script made for the Python Discord Pixels event.

Python Discord Pixels A Python script made for the Python Discord Pixels event. Usage Create an image.png RGBA image with your pattern. Transparent pi

this is a basic python project that I made using python

this is a basic python project that I made using python. This project is only for practice because my python skills are still newbie.

Analisador de strings feito em Python // String parser made in Python

Este é um analisador feito em Python, neste programa, estou estudando funções e a sua junção com "if's" e dados colocados pelo usuário. Neste código,

Driving lessons made simpler. Custom scheduling API built with Python.
Driving lessons made simpler. Custom scheduling API built with Python.

NOTE This is a mirror of a GitLab repository. Dryvo Dryvo is a unique solution for the driving lessons industry. Our aim is to save the teacher’s time

A Python utility belt containing simple tools, a stdlib like feel, and extra batteries. Hashing, Caching, Timing, Progress, and more made easy!
A Python utility belt containing simple tools, a stdlib like feel, and extra batteries. Hashing, Caching, Timing, Progress, and more made easy!

Ubelt is a small library of robust, tested, documented, and simple functions that extend the Python standard library. It has a flat API that all behav

python based clash stars made by grade 7 and 5
python based clash stars made by grade 7 and 5

clash_stars python based clash stars made by grade 7 and 5 How to play: PLAYER ONE (LEFT PLAYER) Move: W,A,S,D Shoot: SHIFT PLAYER TWO (RIGHT PLAYER)

Releases(1.3)
  • 1.3(Jan 5, 2022)

  • 0.0.4(Aug 25, 2021)

    The other week I posted a repo about whython, an almost fully customizable language wrote in python. There where a couple of suggestions for additions and during my spare time over the last week I have been slowly adding these. The new features include:

    Evals

    There are things in this language that you can only do in python. If you need to run python eval then you can do: var test = print("This is from python") eval(test)

    You can also use functions and loops in the eval var test = def test(): for i in range(10): print(i) test() eval(test)

    Grammar rules

    Some people didn't like that you needed to use "var" to assign variables. Although this was changeable you can now use turn off this need. For more information check out https://github.com/NexInfinite/whython#syntax but basically it goes from var test = "hello"

    to test = "hello"

    EmOJis

    Someone jokingly suggested that you should be able to use emojis and I decided to make this real so now you can change any keyword to an emoji. For example 😀 x = "test" print(x) -> test

    Builtins

    Builtins can now be edited, for example changing "print" to "shout". Check out https://github.com/NexInfinite/whython#builtin-functions for more.

    Anyway here's the link to the repo's base: https://github.com/NexInfinite/whython Made using python 3.9

    Source code(tar.gz)
    Source code(zip)
  • 0.0.3(Aug 14, 2021)

    You can now use emojis in the keywords section and you can remove "var" from the front of assignment of variables. This can make the language feel more like python if that is something you are after!

    Source code(tar.gz)
    Source code(zip)
  • 0.0.2(Aug 13, 2021)

  • 0.0.1(Aug 12, 2021)

Owner
Julian
Full stack dev. Python/Rust/Js
Julian
Strong Typing in Python with Decorators

typy Strong Typing in Python with Decorators Description This light-weight library provides decorators that can be used to implement strongly-typed be

Ekin 0 Feb 06, 2022
Paxos in Python, tested with Jepsen

Python implementation of Multi-Paxos with a stable leader and reconfiguration, roughly following "Paxos Made Moderately Complex". Run python3 paxos/st

A. Jesse Jiryu Davis 25 Dec 15, 2022
Project repository of Apache Airflow, deployed on Docker in Amazon EC2 via GitLab.

Airflow on Docker in EC2 + GitLab's CI/CD Personal project for simple data pipeline using Airflow. Airflow will be installed inside Docker container,

Ammar Chalifah 13 Nov 29, 2022
Generate Azure Blob Storage account authentication headers for Munki

Azure Blob Storage Authentication for Munki The Azure Blob Storage Middleware allows munki clients to connect securely, and directly to a munki repo h

Oliver Kieselbach 10 Apr 12, 2022
OntoSeer is a tool to help users build better quality ontologies

Ontoseer This document provides documentation for the first version of OntoSeer.OntoSeer is a tool that monitors the ontology development process andp

Knowledgeable Computing and Reasoning Lab 9 Aug 15, 2022
Attempt at a Windows version of the plotman Chia Plot Manager system

windows plotman: an attempt to get plotman to work on windows THIS IS A BETA. Not ready for production use just yet. Almost, but not quite there yet.

59 May 11, 2022
A bot to view Dilbert comics directly from Discord and get updates of the comics automatically.

A bot to view Dilbert comics directly from Discord and get updates of the comics automatically

Raghav Sharma 3 Nov 30, 2022
SimplePyBLE - Python bindings for SimpleBLE

The ultimate fully-fledged cross-platform Python BLE library, designed for simplicity and ease of use.

Open Bluetooth Toolbox 27 Aug 28, 2022
Check bookings for TUM libraries.

TUM Library Checker Only for educational purposes This repository contains a crawler to save bookings for TUM libraries in a CSV file. Sample data fro

Leon Blumenthal 3 Jan 27, 2022
Terrible sudoku solver with spaghetti code and performance issues

SudokuSolver Terrible sudoku solver with spaghetti code and performance issues - if it's unable to figure out next step it will stop working, it never

Kamil Bizoń 1 Dec 05, 2021
Better firefox bookmarks script for rofi

rofi-bookmarks Small python script to open firefox bookmarks with rofi. Features Icons! Only show bookmarks in a specified bookmark folder Show entire

32 Nov 10, 2022
Auto Join Zoom Meeting

Auto-Join-Zoom-Meeting Join a zoom meeting with out filling in meeting id's or passcodes, one button for it all! Setup See attached excel document. MA

JareBear 1 Jan 25, 2022
Repo contains Python Code Reference to learn Python in a week, It also contains Machine Learning Algorithms and some examples for Practice, Also contains MySql, Tableau etc

DataScience_ML_and_Python Repo contains Python Code Reference to learn Python in a week, It also contains Machine Learning Algorithms and some example

Meerabo D Shah 1 Jan 17, 2022
⚡KiCad library containing footprints and symbols for inductive analog keyboard switches

Inductive Analog Switches This library contains footprints and symbols for inductive analog keyboard switches for use with the Texas Instruments LDC13

Elias Sjögreen 3 Jun 30, 2022
Dashboard to view a stock's basic information, RSI, Bollinger bands, EMA, SMA, sentiment analysis via Python

Your One And Only Trading Bot No seriously, we mean it! Contributors Jihad Al-Hussain John Gaffney Shanel Kuchera Kazuki Takehashi Patrick Thornquist

5 May 21, 2022
Slimbook Battery 4 is the new version with new features that improves battery control and increases battery duration in laptops.

Slimbookbattery Slimbook Battery 4 is the new version with new features that improves battery control and increases battery duration in laptops. This

SLIMBOOK TEAM 128 Dec 28, 2022
A simply dashboard to view commodities position data based on CFTC reports

commodities-dashboard A simply dashboard to view commodities position data based on CFTC reports This is a python project using Dash and plotly to con

71 Dec 19, 2022
La version open source du bot Discord Sblerboy

Sblerboy-Open-Source La version open source du bot Discord Sblerboy Sblerboy est un bot Discord permettant de jouer à des jeux de Gameboy directement

15 Nov 19, 2022
A demo Piccolo app - a movie database!

PyMDb Welcome to the Python Movie Database! Built using Piccolo, Piccolo Admin, and FastAPI. Created for a presentation given at PyData Global 2021. R

11 Oct 16, 2022
Arknights gacha simulation written in Python

Welcome to arknights-gacha repository This is my shameless attempt of simulating Arknights gacha. Current supported banner types (with potential bugs)

Swyrin 3 May 07, 2022