Nya~*kwrgsfish+-HQ9`:'"rbtAzxdi8

From Esolang
Jump to navigation Jump to search

Nya~*kwrgsfish+-HQ9`:'"rbtAzxdi8, or Nya~Τούρινγκ-r%23kc锟斤拷d#T大个b彁jSV\d\\\\zESGmcdips is designed by PSTF.

Language Overview

Nya~*kwrgsfish+-HQ9`:'"rbtAzxdi8 is turing complete, uses an accumulator, a tape with 114514 cells, a stack, a buffer, and variables.

It is simply extended from nya~.

Its file extension is ".nyatc".

You're free to edit this Esolang, but:

  1. No joke commands.
  2. Make sure your command is implementable.
  3. It is not (and should not) be submitted to protected orders (basic areas, supplementary areas and protected areas) that new commands, deletions or modifications of existing commands are made.
  4. The use of standard Arabic numerals as commands is forbidden because it represents numbers, as is the case in other languages, using the decimal system.
  5. You must not add commands that are represented by characters written from right to left. This means that the Arabic alphabet, Hebrew alphabet, etc., are disabled.

Basic command

n
y
a [x]
~
  1. Negates the accumulator.
  2. No operation.
  3. Push a value to accumulator.
  4. Reset the accumulator.

Supplement

idso
w [x]
><+-[],.
A [x] [y]
S [x] [y]
M [x] [y]
D [x] [y]
E [x] [y]
% [x] [y]
R [x] [y]
L [x] [y]
N [x] [y]
O [x] [y]
X [x] [y]
l [x] [y]
r [x] [y]
  1. Same as Deadfish.
  2. Output x as an character. Leave x blank to output stack top. Trying to output from empty stack makes outputs 0th character.
  3. Same as Brainfuck. Whole line of brainfuck commands needn't be seperated.
  4. x <- x + y
  5. x <- x - y
  6. x <- x × y
  7. x <- x ÷ y
  8. x <- xy
  9. x <- x mod y
  10. x <- x1/y
  11. x <- logy(x)
  12. x <- x AND y
  13. x <- x OR y
  14. x <- x XOR y
  15. x <- x × 2y
  16. x <- x ÷ 2y

Protected

P [x]
p [x]
j [x]
→ [x]
""
±
↕
⇋
(cond)?{block}[:(cond2)?{block2}...:{blockN}]
(cond)?-{block}-
;
↑ [x]
↓ [x]
⍠ [x]
x[(type)] ← [y]
U
  1. Push x to stack. If x is a string, then push from left to right.
  2. Pop stack top and store into x. Leave x as blank to discard top of stack.
  3. Join x to the buffer.
  4. Output the value of x.
  5. String literal.
  6. Duplicate stack top.
  7. Reverse whole stack.
  8. Swap the top two element of stack.
  9. If-else statement. All operation sign are also imported from Python.
  10. Conditional Loop.
  11. Seperates commands.
  12. Rounds away from 0.
  13. Rounds towards 0.
  14. Rounds as usual.
  15. Assign x to y. Leave y blank to assign nothing to x. If x doesn't exist, then you must contain type to initialize the variable. If x is ⎕, then output y to screen. If y is ⎕, input a string, parse by the x's type and assign to x. If y is ⍞, Raw input a string to x.
  16. If there is two U's, then jump back to 1st U when arrived second U, otherwise do nothing.

Extension A

From here, commands can be added via contributions. There are 64 to 256 commands per area.

Example

Hello, world!

--<-<<+[+[<+>--->->->-<<<]>]<<--.<++++++.<<-..<<.<+.>>.>>.<<<.+++.>>.>>-.<<<+.

Alternated

⎕ ← "Hello, world!"

A+B

a(int) ← ⎕
b(int) ← ⎕
⎕ ← (a + b)

Truth Machine

t(int) ← ⎕
(t≠0)?-{⎕ ← t}-
⎕ ← 0

Infinitely output null characters

UwU

Categories and References