Interpreted programming language.
Run npm install or npm ci for install all dependencies.
Run npm run demo for start development demo project.
- No Loops (Use Recursion)
- No Ifs (Ternary Operator Allowed)
- Function is a Single Return
- No Side-Effects
- No Assignments in Functions
- No Arrays (Use List-like Objects)
- Only Functions with 0 or 1 Arguments (Use Closures)
1 * (2 + 3)
foo = 'bar'
// some comment
ternaryIf = 6 > 9 ? 4 ? 20 : sum(88)(14) : 42
sum = a => b => a + b
sum(6)(9)
pair = {
first: 69 + 69
second: {
first: sum(4)(20)
second: 777
}
}
Multiline:
~
console.log('count:', count);
console.log('countX2:', count2);
console.log('countX3:', count3);
~
One line:
~ console.log('ternaryIf:', ternaryIf); ~
counterUp = current => max => callback => current <= max ? callback(current) || counterUp(current + 1)(max)(callback) : current
counterDown = initial => callback => initial > 0 ? callback(initial) || counterDown(initial - 1)(callback) : initial
printRow = row => console.log(('🤣 ').repeat(row))
start = 1
end = 7
counterUp(start)(end - 1)(printRow)
counterDown(end)(printRow)
Execution result:
🤣
🤣 🤣
🤣 🤣 🤣
🤣 🤣 🤣 🤣
🤣 🤣 🤣 🤣 🤣
🤣 🤣 🤣 🤣 🤣 🤣
🤣 🤣 🤣 🤣 🤣 🤣 🤣
🤣 🤣 🤣 🤣 🤣 🤣
🤣 🤣 🤣 🤣 🤣
🤣 🤣 🤣 🤣
🤣 🤣 🤣
🤣 🤣
🤣