Cheese²

From Esolang
Jump to navigation Jump to search

Cheese² Is an ultra-light interpreted language seeking to utilize the full computing potential of cheese.

Cheese² Logo

Current Version

Alpha 1.3.5

Inspiration

Let it be known that Cheese² is not an offshoot of Cheese or its successors (Cheese+, Cheese++, and Cheese+++), as it has a different creator, different syntax, and is different in compilation as it is an interpreted language. Rather, Cheese² took inspiration from the Cheese family of languages, but looks to provide a more usable (still not actually usable, but closer) approach to utilizing cheese as a functional language. One of the largest inspirations for creating cheese was the lack of a Cheese-based language, as Cheese and its successors’s source code was eventually made private or, in the case of Cheese+++, its source code, “went rotten”. Unfortunately I do not have the knowledge, currently, to create a compiled language, so for Cheese², it has been created as an interpreted language. But know that somewhere on the horizon lays a Cheese³ which will hopefully feature full compilation...

Syntax

Cheese² is case sensitive and all syntax, excluding user-set names (of variables, wheels, etc), are completely lowercase.

Function Description Usable Starting
cheddar Clears the current code blurb, it is purely for better organization/readability. v1.0-a
slice Creates a variable. Prompts for variable name. v1.0-a
taste Edits a variable. Prompts for target variable name and value to change to. v1.0-a
swiss Increments a variable by 1. Prompts for target variable name. v1.0-a
mozzarella Increments a variable by a set value. Prompts for target variable name and the value to increment by. v1.0-a
colby Prints a variable’s value. Prompts for target variable name. v1.0-a
gouda Prints a variable’s value in ASCII. Prompts for target variable name. v1.0-a
stock Prints a table of all variables and their value. v1.0-a
wheel A user created function. v1.0-a
wheelstock Prints a list of all wheels v1.3-a

Bug Reports

For anyone willing to, reporting bugs helps develop the language more and iron out these pesky insects. To download the newest compiler see the Downloads section and select the newest version. There is a list of already known bugs under the versions section, or in the discussion page. To report a bug, follow the instructions below.

Edit the discussion page and add another line to the bug report section. If you are reporting a new bug, indent once, if you are discussing a bug with others, indent under their post. Remember to leave your signature with timestamp! 𝕾𝖆𝖓𝖘𝖈𝖎𝖈𝖔𝖓𝖉𝖔𝖘 (𝐓𝐚𝐥𝐤) 12:02, 17 May 2021 (UTC)

Versions

From oldest to newest

Alpha 1.0

v1.0-a
The first version of Cheese². A highly unstable and buggy version, mainly a proof of concept.
Update Log
-Created the language and compiler.
-There is a bug infestation.
Bugs:
-Only one variable can be created.
-Assigning a char or string to a variable (all variables are integers currently) causes an infinite loop of printing the variable name.

Alpha 1.3

v1.3-a
The first version of Cheese² with some working functionality. There is no interpreter available for this version as it was stolen by the Persian Cheese Bandits.
Update Log
-Fixed the single variable bug. You can now create infinite variables.
-Fixed the infinite loop bug. Variables can now be safely edited.
-Edited the base form of wheels. Wheels are currently non-functional and are still in testing.
-Simplified some source code regarding wheels, still non-functional though.
Bugs:
-Wheels are non-functional.

Alpha 1.3.5

v1.3.5-a
A minor in-between version of Cheese² that adds some functionality to wheels. This version also provides an interpreter very similar to Alpha 1.3's, as it is unfortunately not available.
Update Log
-You can now create variables using wheels.
-The interpreter now has a yellow color theme.
Bugs:
-Wheels with same-names can be created.
-Sometimes a wheel can be created with name exit, when trying to exit a wheel.

Example Programs

Note: [Enter] signifies the enter key being pressed

Hello World

Note: This is an extremely long, but the only current, way to create the “Hello World” program in Cheese². Luckily this is only temporary, as it will be fixed with the implementation of wheels in later versions.

cheese slice [Enter]

cheese slice hvar [Enter]

cheese slice hvar taste [Enter]

cheese slice hvar taste hvar [Enter]

cheese slice hvar taste hvar 72 [Enter]

cheese slice hvar taste hvar 72 cheddar [Enter]

cheese slice [Enter]

cheese slice evar [Enter]

cheese slice evar taste [Enter]

cheese slice evar taste evar [Enter]

cheese slice evar taste evar 101 [Enter]

cheese slice evar taste evar 101 cheddar [Enter]

cheese slice [Enter]

cheese slice lvar [Enter]

cheese slice lvar taste [Enter]

cheese slice lvar taste lvar [Enter]

cheese slice lvar taste lvar 108 [Enter]

cheese slice lvar taste lvar 108 cheddar [Enter]

cheese slice [Enter]

cheese slice ovar [Enter]

cheese slice ovar taste [Enter]

cheese slice ovar taste ovar [Enter]

cheese slice ovar taste ovar 111 [Enter]

cheese slice ovar taste ovar 111 cheddar [Enter]

cheese slice [Enter]

cheese slice space [Enter]

cheese slice space taste [Enter]

cheese slice space taste space [Enter]

cheese slice space taste space 32 [Enter]

cheese slice space taste space 32 cheddar [Enter]

cheese slice [Enter]

cheese slice wvar [Enter]

cheese slice wvar taste [Enter]

cheese slice wvar taste wvar [Enter]

cheese slice wvar taste wvar 87 [Enter]

cheese slice wvar taste wvar 87 cheddar [Enter]

cheese slice [Enter]
 
cheese slice rvar [Enter]

cheese slice rvar taste [Enter]

cheese slice rvar taste rvar [Enter]

cheese slice rvar taste rvar 114 [Enter]

cheese slice rvar taste rvar 114 cheddar [Enter]

cheese slice [Enter]

cheese slice dvar [Enter]

cheese slice dvar taste [Enter]

cheese slice dvar taste dvar [Enter]

cheese slice dvar taste dvar 100 [Enter]

cheese slice dvar taste dvar 100 cheddar [Enter]

cheese gouda [Enter]

cheese gouda hvar [Enter]

H

cheese gouda hvar gouda [Enter]

cheese gouda hvar gouda evar [Enter]

e

cheese gouda hvar gouda evar gouda [Enter]

cheese gouda hvar gouda evar gouda lvar [Enter]

l

cheese gouda hvar gouda evar gouda lvar gouda [Enter]

cheese gouda hvar gouda evar gouda lvar gouda lvar [Enter]

l

cheese gouda hvar gouda evar gouda lvar gouda lvar cheddar [Enter]

cheese gouda [Enter]

cheese gouda ovar [Enter]

o

cheese gouda ovar gouda [Enter]

cheese gouda ovar gouda space [Enter]



cheese gouda ovar gouda space gouda [Enter]

cheese gouda ovar gouda space gouda wvar [Enter]

W

cheese gouda ovar gouda space gouda wvar cheddar [Enter]

cheese gouda [Enter]

cheese gouda ovar [Enter]

o

cheese gouda ovar gouda [Enter]

cheese gouda ovar gouda rvar [Enter]

r

cheese gouda ovar gouda rvar gouda [Enter]

cheese gouda ovar gouda rvar gouda lvar [Enter]

l

cheese gouda ovar gouda rvar gouda lvar cheddar [Enter]

cheese gouda [Enter]

cheese gouda dvar [Enter]

d

Explanation

To get each character of “Hello World!” we need to set a variable, or in this case 7, to the ASCII value of the individual characters. Then we can output each letter individually according to its ASCII value using gouda.

Downloads

Compiler currently only works on windows

Github Link

Versions on Github

  • Alpha 1.0
  • Alpha 1.3.5