#DJKHALED
#WETHEBEST
An emoji-based programming language designed to satisfy a curiosity around language-parsing and inspired by the idiolect of DJ Khaled. Designed over a few days at Swarthmore College.
Other programming languages, they don't want you to win. That's why we're bringing you 🔑++, the key to more success.
They don't want you to code your way to more success. We do. They don't want you to code with 🔥emoji. We do. They don't want you always have another one. We do. Another one.
And guess what? We've changed – a lot.
Welcome to 🔑++, the programming language for winners and champions. We the best.
Hello World
Fizz My Buzz
they don't want you to fizzbuzz max
🔑 n 0
ride wit me
if n % 3 == 0 and n % 5 == 0:
🔥 "FizzBuzz"
elif n % 3 == 0:
🔥 "Fizz"
elif n % 5 == 0:
🔥 "Buzz"
else:
🔥 n
if n >= max:
you played yourself
another one
major 🔑 👍
🙏
Running 🔑++ locally
In order to run 🔑++ on your local machine, you'll want to set up an alias so you can run code from anywhere.
Add the following code to your ~/.profile or ~/.bash_profile (check out StackOverflow for more information).
alias 🔑++="PATH_TO_DIRECTORY/🔑++/bin/🔑++"
You can change the alias if you'd prefer not to type emojis – we recommend "key++". Then you can just run
$> 🔑++ examples/hello_world.liooooon
Hello world - WE THE BEST!
Name
This language is called 🔑++ because it's the key to more success, and another one.
Syntax
Boilerplate
All 🔑++ programs must begin with the following two-line comment:
Built-in types
🔑++ naturally supports integers, floats, and strings. Booleans are 👍, true, and 👎, false.
🔑++ accepts all standard operators, +, -, *, \, %, **, etc. Anything you could find in Python ;)
Printing
To print a value, simply prefix it with 🔥.
Assigning variables
🔑++ uses the following notation for assigning variable values:
You can read this as "The key to x is 1". The right term can include operators, so 🔑 x x + 1 will assign the value x + 1 to x.
Functions
Function definitions begin with they don't want you to [name] [args] and are closed with 🙏. To specify the return value, use major 🔑 [optional value]. 🔑++ does not yet support anonymous functions.
An example implementation of Fibonacci is below:
they don't want you to fibonacci n
🔑 acc1 0
🔑 acc2 1
ride wit me
🔑 temp acc2
🔑 acc2 acc2 + acc1
🔑 acc1 temp
🔑 n n - 1
if n < 1:
you played yourself
another one
major 🔑 acc1
🙏
Loops
Don't play yourself. 🔑++ makes it easy to write code and easy to call another one. All 🔑++ loops are initialized with the tag ride wit me and default behavior is always another one.
ride wit me
...
another one
Breaks
To exit a loop use the command you played yourself. Thus we can write a traditional loop as follows:
ride wit me
[...]
if [condition]:
you played yourself
another one
Importing modules
DJ Khaled has the best fans in the world. You can access local Python libraries via fanluv [libname].
Next Steps
We're currently working on implementing struct support in 🔑++.
We are also working on O'Khaled, a JIT compiler for 🔑++.
Who did this?
Good question. Razi Shaban and Alec Pillsbury put this project together after a late-night brainstorming session. Hope you unlock more success
Isn't this just a blah blah python
Yeah, yeah, whatever. Another one.
