NyaScript

From Esolang
Jump to navigation Jump to search

NyaScript is a derivative of brainfuck with some special features, like a temp variable for example.

download

Venn diagram representing NyaScript

History

The idea first came out on Tetra Online's Discord Server, where SingleSliceOfCake was always talking in a "Nya" language (talking with the words "Nya", "hewo", "UwU" and these kind of words). Nothing happend there, but at Saturday, January 2nd, Mizu said the word: "nyascript". That day, ThatCookie_ streamed the making of NyaScript.

Syntax

A brainfuck derivative

BF NyaScript
> Nya
< nyA
+ NyA
- nYa
[ NYa
] nYA
. NYA
, nya

Exclusive Features

Pure NyaScript

NyaScript Does
nyan Assigns current matrix pos to temp value
NYAN Assigns temp value to current matrix pos
NyaN Adds one to temp value
nYAn Removes one to temp value
NYAn Adds current matrix pos to temp
nYAN Removes current matrix pos to temp
NyAN Clears temp

NyaScript Extended

A NyaScript extended program begins with the word "UwU"

Variables

Define and assign variables...

$name 65

...Then put it at the current array pos:

#name

Some Variable syntax:

NyaScript Does
$name . Assigns current array pos to variable
$name ^ Assigns temp value to variable
$name + Adds current array pos to variable
$name - Removes current array pos to variable
Conditions
Nya? gweater|lower|eqwal <action> ?Nya
Functions

Define:

meow name meOW <args> MEow <actions> MEOW

Call:

~name °args

Special args:

NyaScript Does
. Current array pos
^ Temp
a Current array pos => to integer
t Temp => to integer

NyaScript++

Imports

Import a python file

hewo! hello.py
pywon hello.py //to eval the file

Import a NyaScript file:

hewo hewo.nyas
ewawuate hewo.nyas //to eval the file
Arrays
$a ^array 1 2 3 array^  //Defines an Array
$a ^+ 4 //Appends 4
#a[1] //returns 4
NYA+  //prints "4"
Classes

Define a Class:

Cwass Name
meow constructor meOW args MEow $->args args MEOW //Defines self.args as the args argument given
meow Hewo NYA++ "Hewo!" MEOW  //Method that prints "Hewo!"

Or with inheritence:

Cwass stuff extends thing   //The class "stuff" will have the methods from the class "thing"
meow constructor meOW a MEow upper a MEOW  //"upper" makes the upper constructor

Usage:

$that <stuff>  //that will be a new stuff (< and > are in)
->that /doStuff //call the that.doStuff method
->that $->a 65 //that.a will be 65
-> #->a //paste that.a to array pos

Hello, World!

The current shortest Hello, World! program is these ones, made by ThatCookie:

With pure NyaScript

NyA NyA NyA NyA NyA NyA NyA NyA NyA NyA NYa 
Nya NyA NyA NyA NyA NyA NyA NyA Nya NyA NyA 
NyA NyA NyA NyA NyA NyA NyA NyA Nya NyA NyA 
NyA NyA Nya NyA NyA NyA Nya NyA NyA NyA NyA 
NyA NyA NyA NyA NyA Nya NyA NyA NyA NyA NyA
NyA nyA nyA nyA nyA nyA nyA nYa nYA Nya NyA 
NyA NYA Nya NyA NYA NyA NyA NyA NyA NyA NyA 
NyA NYA NYA nyan NyA NyA NyA NYA Nya NyA NyA 
NyA NyA NYA Nya NyA NyA NYA Nya nYa nYa nYa 
NYA NYAN NyA NyA NyA NYA NyA NyA NyA NYA NYAN
NYA nYa nYa nYa nYa nYa nYa nYa nYa NYA nyA
NyA NYA

With NyaScript:

UwU

$h "Hello,\^^World!"
#h NYA+

And with NyaScript UwU:

OwO

NYA++ "Hello,\^^World!"

External resources