User:Aadenboy/Draft

From Esolang
Jump to navigation Jump to search
Kawa
Paradigm(s) ?
Designed by User:Aadenboy
Appeared in 2025
Memory system Deque, stack
Dimensions One-dimensional
Computational class Unknown
Major implementations None
Influenced by APL, Uiua
Influenced None
File extension(s) .fune

Kawa (pronounced kah-wah) (川) is a symbolic language created by User:Aadenboy inspired by Japanese radicals.

Data

The only data type is the number.

Data can be held on a stack (the "stream") and on a deque (the "boat"). The stream is used for temporary data and calculations like math, while the boat is used for more persistent values.

The stream exists parallel to the instruction pointer, and is fed into whatever command it runs into, as if it were a river.

Bases

Bases are the commands used in the program. There are only nineteen bases (nine when excluding the numerals). On their own, they are basic in functionality and can't do much of anything useful.

Name Glyph Description Radicals
Zero - Nine
Appropriate numerals
Pushes the corresponding digit to the stream. No
Nop
Small square
Does nothing. Yes
Input
Downward right-barbed arrow
Takes input from the user, pushing each character's UTF-8 code onto the stream in reverse order. Yes
Output
Upward right-barbed arrow
Pops a value from the stack, writing it as a numeral. Yes
If / Else / End
Right slanted line with a horizontal line bisecting it from the left, through, and to the right, respectively
If - Check if the top value of the stack is equal to zero. If it is, continue as normal; otherwise, jump to the Else command.


Else - Jump to the End block.
End - No behavior.

Yes only for If
Jump Back / Forward / End
45-degree angle above a vertical line segment; angle faces left for Back, and right for Forward and End. Line segment is on the right for Back and End, and on the left for Forward
Back - Jump execution to the previous command with a flag (or the start if none exists).


Forward - Jump execution to the next command with a flag (or the end if none exists).
End - Halt execution.

No