Frosty
Jump to navigation
Jump to search
Designed by | user:MijiGamin1 |
---|---|
Appeared in | 2025 |
Computational class | Unknown |
Reference implementation | Python |
Influenced by | brainfuck |
File extension(s) | .fy |
Frosty is a list-based programming language designed by user:MijiGamin1 in which all data is stored as integers within lists, which themselves are referenced with keys, which are also integers. The language revolves around changing and manipulating these integers and lists in order to do computation. You can find the interpreter here.
Command | Action | Format |
---|---|---|
+ | Add a number to a given list | +[key]/[number]/ |
~ | Modify the number within a given index of a given list | ~[key]/[index]/[number]/ |
$ | Delete a certain index from a list | $[key]/[index]/ |
* | Reference a specific list position within a parameter | *[key]-[index]* |
. | Print the numeric value of a given number | .[number]/ |
, | Print the ASCII value of a give number | ,[number]/ |
\ | Print the numeric values of a given list | \[key]/ |
! | Print the ASCII values of a given list as a string | ![key]/ |
@ | Get integer user input from the user and store it in a given index of a given list | @[key]/[index]/ |
a | Add two numbers together and store the result in a given index of a given list | a[key]/[index]/[number 1]/[number 2]/ |
s | Subtract two numbers and store the result in a given index of a given list | s[key]/[index]/[number 1]/[number 2]/ |
x | Multiply two numbers together and store the result in a given index of a given list | x[key]/[index]/[number 1]/[number 2]/ |
d | Divide two numbers and store the rounded result in a given index of a given list | d[key]/[index]/[number 1]/[number 2]/ |
m | Store the modulo of two numbers in a given index of a given list | a[key]/[index]/[number 1]/[number 2]/ |
: | Start a loop, given the ID of the loop and the amount of times it should repeat | :[ID]/[loop #]/ |
# | Signifies the end of a certain loop | #[ID]/ |
> | If number 1 is greater than number 2, proceed. If not, go to the ending identifier. | >[number 1]/[number 2]/[ID]/ |
< | If number 1 is less than number 2, proceed. If not, go to the ending identifier. | <[number 1]/[number 2]/[ID]/ |
= | If number 1 is equal to number 2, proceed. If not, go to the ending identifier. | =[number 1]/[number 2]/[ID]/ |
} | Ending identifier for conditional | }[ID]/ |
n | Prints newline | n/ |
[ | Adds part of a list to another | [[key of list being added]/[key of list added to]/[starting index]/[ending index]/ |
Examples
Hello, World!
+0/Hello, World!/!0/
Cat
+0/0/@0/0/.*0-0*/
Truth Machine
+0/0/@0/0/}0/.*0-0*/=*0-0*/0/0/
99 Bottles of Beer On The Wall
+0/ bottles of beer on the wall/+1/0/[0/1/0/16/+1/./$1/0/+2/Take one down, pass it around,/+3/99/:0/98/.*3-0*/!0/n/.*3-0*/!1/n/!2/n/s3/0/*3-0*/1/.*3-0*/!0/n/n/#0/