Metadata-Version: 2.1
Name: NumberScript
Version: 1.13.5
Summary: possibly the world's most simplest and restricted language.
Author: Sasen Perera
License: MIT
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE

<img src="https://raw.githubusercontent.com/Sas2k/NumberScript/main/docs/images/Logo-256.png" alt="Logo of NumberScript"/>

# NumberScript

[![Downloads-Month](https://pepy.tech/badge/numberscript/month)](https://pepy.tech/project/numberscript)
[![Downloads-Total](https://pepy.tech/badge/numberscript)](https://pepy.tech/project/numberscript)
[![Discord](https://img.shields.io/discord/1005410273609400402?label=Discord&style=for-the-badge&color=purple)]((https://discord.gg/wRXR72zJ6W))

[NumberScript Discord-Invite](https://discord.gg/wRXR72zJ6W)

Possibly the world's simplest and restricted language.

## Installation (pip)

```bash
pip install NumberScript
```

## Features

- No spaces (Yup, you read that right)
- Comments
- Only 8 commands
- A shell, a repl and a package manager

## Docs

Documentation: https://sas2k.github.io/NumberScript

## CLI and repl

To use the repl just run
`python -m NumberScript`

To run a file use
`python -m NumberScript -f Path/To/File`

### Commands

```
commands:  0  |  1  |  2 (@string.index)  |  3  |  4  |  5  |  6 |  7
input: ~
random: *
comments: %
import: #
arithmetic: ^
Compare: = | ! | < | >
operations: + | - | * | / |
If-Else: ? :
```

>NOTE: You can't have different arithmetic signs in a single ^
>    : meaning you can do 1+1+2 but not 1+1*2
>    : Also NO SPACES.

### Syntax

A basic program
```
%Test.ns
0 %Starts %The %Program
3a:Hello %Sets %The %Variable %a %to %Hello
2a %Displays %a
?a=Hello:2a:2Bye %Check-A-If-Its-Hello-Then-Display-It-Else-Display-Bye
1 %Ends %The %program
```
You can also have this program like. (Without any new-lines)
`0 3a:Hello 2a 4a=Hello:2a:2Bye 1`

Here is another program that loops over digits to check if they are lucky
```
%Is-This-lucky:Checks-If-The-Number-Is-Lucky
0
3lucky_num:9
6n\10\?n=lucky_num:2n|2Is-The-Lucky-Number:2n|2Is-Not-The-Number
1
```

You can find more examples in the `examples` folder.

>So, since there aren't any spaces what can we use instead of them?
>You can use _ or -.

## To-Do

- [ ] Possibly OOP
- [ ] Error Catching System
