Skip to content
/ easel Public

Learn how to write a esoteric programming language and we'll ship you fudge!

Notifications You must be signed in to change notification settings

hackclub/easel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Write a programming language, get fudge! From now until the end of the school year (June 30), we're also running a programming language jam, where you'll also have the chance to win a copy of Crafting Interpreters.

The gist: write a programming language → record a demo video with Asciinema and write a quick guide on how to get up and running with your programming language (including build instructions, if any!) → open a PR with a link to your repo containing these three things and your name, #ship a demo on Slack, and then submit the form here.

Check out #building-programming-languages on the Slack to hang out with fellow teenagers hacking on programming languages.

Step zero: learn how to write a programming language!

What if you don't know how to write a programming language? Never fear, Orpheus the dinosaur to the rescue! We've written a guide on writing a programming language from scratch that'll teach you how to write a programming language called Easel:

Screen.Recording.2024-05-08.at.2.26.14.PM.mov

By the end of it, you'll have written a programming language and learned about how tree-walk interpreters work! Give it a spin at https://easel.hackclub.com.

Step one: write your programming language!

Here's the criteria:

  • Minimally, should have the following features: variables, looping (think: for/while loops), conditional branching (think: if/else statements) and some form of recursion (think: functions). Why? These are what make a programming language Turing-complete.

That's it! During the jam, the community will vote on what language does the following the best:

  • Creativity and silliness!
  • Bonus points if you explain your implementation.

And the top five will get a hard copy of Crafting Interpreters while we're running our programming jam!

Step two: record a demo!

Record a demo of your programming language in action, preferably using Asciinema. Instructions can be found here for how to install Asciinema and then record your terminal with it. After you've got a recording of you running your programming language, grab the Asciinema link, which will look something like https://asciinema.org/a/590145.

Step three: open a PR!

Open a PR by heading over to Pull requests and opening a PR. Your PR should have the following:

  • A link to your repo, which should have an examples folder with at least one example other people can run and a README that describes how to build and run your repo and an explanation of the syntax and what makes it special.
  • A copy of your repo inside a folder inside languages.

A good example to take a look at is Arson.

When you're done, you can submit the form here to move on to step four!

Step four: get your stuff in the mail!

This one's easy. Wait for your stuff to come in the mail! The terminal-in-a-box that you might have heard of is currently in active dev but come hang out and help along in #building-programming-languages in the meantime.

About

Learn how to write a esoteric programming language and we'll ship you fudge!

Resources

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published