// when blog is done https://cookeylangblog.cookeylangteam.repl.co

CookeyLang

CookeyLang is a fast, interpreted, dynamic language. It is built for beginners and it's syntax is inspired by many languages (JavaScript, Python, C, and C#) making it easy to transition from cookeylang to other languages.

About

CookeyLang was created by Coder100, Codemonkey51, CodingCactus, JDOG787, TheSummit3145, and RaidTheWeb on repl.it for the 2020 programming language jam. It was originally written in javascript. You can read more in the about page.

Features

CookeyLang requires semicolons! This helps promote good coding practices.

printLine("hello,"); %% Good
printLine("world!") %% error: requires semicolon!

CookeyLang's variable can either be dynamic and constant, and no exceptions to that rule can be made!

final constant = 10;
constant = 2; %% error: Assignment to constant variable!

CookeyLang implements a beginner's intuitive representation of math. All symbols used in your math class is used in CookeyLang. ^ means exponentation, not XOR!

printLine(10 ^ 2 + 6 / 3 - 4); %% => 98

CookeyLang's functions have arity checking, reducing bugs and promoting clean code.

function addition(num1, num2) {
  ret num1 + num2;
}
addition(1); %% error: expected 2 arguments but got 1!

Loops are what you expect, but there's one more type of loop to help beginners.

var i = 0;
while((i++) < 11) {
  printLine(i);
}

%% is the same as
forrep (i, 0, 11, 1) {
  printLine(i);
}

%% which is the same as
for (var i = 0; i < 11; i++) {
  printLine(i);
}

CookeyLang uses prototypes instead of classes, which are easier for beginners to understand.

Install CookeyLang

Currently, you can get CookeyLang's latest release from npm.

npx cookeylang [file]