Welcome to the Kitchen!! Big Mama is strong, bold, loves cute things (such as her cat, Katchup), and cultivates the most flavorful dishes for her consumers. After a few minutes in her kitchen your taste buds are sure to be left tingling. She will throw in a wide variety of flavors from spicy to sweet, from tangy to salty, and will always finish a job with a sassy wink. Better get your plates ready, are you ready for a taste?
This language is for people who love to cook as it uses cooking/baking phrases. BigMamasKitchen serves to spice up statically typed/scoped languages.
Check out our website here: https://mmikol.github.io/BigMamasKitchen/dist/index.html.
Cooked up by Bridget O'Connor, Sophia Mackin, Moriah Scott, Rachel Nguyen, Miliano Mikol.
-
Statically typed with static scoping
-
Data Structures like arrays and dictionaries
-
Cooking keywords
-
Emoticon brackets and comments
-
Simple statements terminated with ;)
-
Cinnamon Roll Arrays (@)
-
Square Waffle Dictionaries [#]
BigMamasKitchen | JavaScript |
---|---|
spicy | Boolean |
bitter | Number |
salty | String |
(@) | Array |
[#] | Map/Object |
bland | null |
BigMamasKitchen | JavaScript |
---|---|
cooked | true |
raw | false |
(^-^)~ ~(^-^) | {} |
;) | ; |
until condition | (condition) |
ingredient | let |
empty | void |
recipe | func |
nothing | null literal |
stop | break |
stir | while |
bake | for |
addAPinchOf | if |
orSubstitute | else if |
dumpLeftovers | else |
mamaSays | console.log("") |
recipe eggsBenedict (bitter eggWhites, salty sauce) (^-^)~ ~(^-^)
ingredient bitter taco = 1 ;)
ingredient salty cake = "chocolate" ;)
ingredient spicy egg = raw ;)
taco = 4 ;)
cake = "vanilla" ;)
egg = cooked ;)
addAPinchOf i < -35 (^-^)~
mamaSays "Too little" ;)
~(^-^) orSubstitute i > 35 (^-^) ~
mamaSays "Too much" ;)
~(^-^) dumpLeftovers (^-^)~
mamaSays "Just right" ;)
~(^-^)
stir until cooked (^-^)~
mamaSays "infinite loop baby" ;)
~(^-^)
bake ingredient bitter egg = 1 until egg < 40 egg++ (^-^)~
mamaSays egg ;)
~(^-^)
--[=] Include more sugar
if you want to
lol
[=]--
~(=^..^) We love Big Mama
ingredient spicy(@) rawEggs = (@)raw, raw(@) ;)
ingredient spicy(@)(@) boolArrArr =
(@) (@)raw(@), (@)rtaw, cooked(@) (@) ;)
ingredient salty(@) rollCake = (@)"strawberry", "sugar", "cake"(@) ;)
ingredient salty fruit = rollCake(@)0(@) ;)
fruit = rollCake(@)2(@) ;)
ingredient bitter(@)(@) doubleArray = (@) (@)1,2,3(@), (@)4,5,6(@) (@) ;)
mamaSays doubleArray(@)1(@)(@)2(@) == 6 ;)
ingredient salty[#] basicDict = [#] "key" : "value" [#] ;)
ingredient bitter[#][#] dictDict=
[#]
"key1" : [#] "inner1" : 5 [#] ,
"key2" : [#] "inner2" : 2 [#]
[#] ;)
ingredient bitter[#] rollCake = [#]
"strawberry": 0,
"sugar": 1,
"cake": 2
[#] ;)
ingredient bitter fruit = rollCake[#]"strawberry"[#] ;)
fruit = rollCake[#]"cake"[#] ;)
ingredient salty[#][#] dictionary = [#]
"key1": [#]"key2": "value"[#]
[#] ;)
mamaSays dictionary[#]"key1"[#][#]"key2"[#] ;)
BigMamasKitchen | JavaScript |
---|---|
|
console.log("Hello world!"); |
BigMamasKitchen | JavaScript |
---|---|
|
function Add (a, b) {
return a + b;
} |
BigMamasKitchen | JavaScript |
---|---|
|
function evenOdd (a) {
return a % 2 === 0;
} |
BigMamasKitchen | JavaScript |
---|---|
|
function gcd(a,b) {
a = Math.abs(a);
b = Math.abs(b);
if (b > a) {let temp = a; a = b; b = temp;}
while (true) {
if (b === 0) return a;
a %= b;
if (a === 0) return b;
b %= a;
}
return 0;
}
|
BigMamasKitchen | JavaScript |
---|---|
|
if (i < -35) {
console.log(“too cold”);
} else if (i > 35) {
console.log(“just right”);
} else {
console.log(“try again!”);
} |
BigMamasKitchen | JavaScript |
---|---|
|
let temperature = 0
while (true) {
temperature++
if(temperature == 360){
break;
}
} |
- Type mismatch
- Break can only appear in a loop
- Return can only appear in a function
- Cannot call something that is not a function or constructor
- Cannot pass in wrong number of parameters to a function call
- Cannot declare variables with names that have already been declared
- Array elements cannot have different types than each other
- No duplicate keys in a dictionary
- Dimension mismatch
- Cannot access an element that does not exist