There is no concept of traditional numbers in mewl instead we use mews. For example you want to write 5 you could do something like this


or maybe 2


So basically 1 mew is equivalent to 1; 2 mews is equivalent to 2 and so on.

:warning: Important Note: We don't have zero, to get zero we use subtraction [- mew mew] (it's like 1-1 = 0) [Mathematical operations will be discussed later]

But what about large numbers like 100 , 2022 , 500 or maybe -10 , -3.1, for that we have some shortcuts, like these : To write large numbers we can use mathematics, like [* mewmew mewmewmewmewmew] is equal to 10, or multiplying that expression with itself we can get 100. But that's cumbersome and complicated! Instead we have a simpler (relatively) syntax shortcut. Lets write 100:

[mew [- mew mew] [- mew mew]]

How about 2022:

[mewmew [- mew mew] mewmew mewmew]

Above two examples will only work when assigning to a variable, but if we want to use these expressions anywhere we have to put this ' single single quote character just after the opening bracket. Something like this:

[' mew mew [+ mew mew]] //is equal to 112

It is being evaluated like this:

flowchart TD;
    A["[' mew mew [+ mew mew]"] --> B["[' mew mew [2]]"]
    B-->C["[' 1 1 2]"]
    C -- Output --> D[112]

But If we remove this ' character and it is not being assigned to a variable or being printed to the stdout, it is going to be evaluated like this and will throw an error:

flowchart TD;
    A["[ mew mew [+ mew mew]]"] --> B["[mew mew 2]"]
    B-->C["[ 1 1 2]"]
    C-->D{Error: No operation to do!}