farhan2khan / langjam

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Lang Jam

Welcome to Lang Jam, a weekend coding jam. It carries much of the spirit of game jams, where teams create a video game in a weekend. In Lang Jam, you and your teammates will create a programming language based on the theme for that jam.

The next Lang Jam (#0002) is done! It started on Friday the 3rd of December, starting at 7pm UK time and ran for 7 days, ending on 7pm on the following Friday (the 10th of December). In this time, you were allowed 48 total hours to work on code and 12 total hours to work on documentation and presentation. Projects are here.

If you're interested in working with others on the jam, or want to chat, we also have a discord.

Past lang jams:

#0001 - The theme was "first-class comments". The first Lang Jam was held on Friday the 20th of August, starting at 7pm UK time (Timezone translator: https://dateful.com/eventlink/1037709179) and ran for 48 hours, ending at 7pm on Sunday the 22nd of August. Submissions can be found in the jam repo. You can watch a video of the winners.

How it works

Each team will submit a PR that will create a directory named after their language which includes the project source code, build instructions, documentation, and any presentation about the language. In this directory, there will also be a file that includes the GitHub handles of the team members. The PR for each project needs to be submitted before the end of the jam. We will provide a directory template each team can use.

A team can use personal repos to develop ideas before they're ready to show them publically, but to count as part of the jam, the team's final code needs to be submitted as a PR before the jam's cutoff time.

The jam will run for 7 days. In this week, your team will be allowed 48 total hours for coding on the code and 12 total hours of work on documentation and presentation. This is to allow people to more flexibly schedule participation in the jam during the week. For teams, this means each team member gets a total of 48 hours for coding and 12 total hours for documentation and presentation.

(note: the first jam was 48 hours long, and it began at 7pm UK time on Friday and ended at 7pm UK time on Sunday.)

What to build

Each jam will have a theme. Your projects should build on that theme and show that theme in their final design. You can build an interpreter or a compiler, so long as it can run or build examples of code in the programming language you create.

Who can enter

Anyone, from any age, from anywhere in the world. You can join by yourself or as part of a group.

How projects are judged

While the most important part of any jam is to enjoy it, it's also exciting to have a good competition. Each team's projects will be judged based on feedback from other participants and onlookers who try the project out and vote on how they like best based on three criteria:

  • Creativity
  • Uniqueness
  • Fun

Of these, JT will pick their top picks and create a video showing off the winners.

Languages you can use

You can code in any programming language you'd like to create your project, so long as the language is part of the Debian/Ubuntu or Arch package repo (or one of the language-specific repos, like Rust's cargo). Please limit build steps of the project to three or less steps.

What you provide with the project

Along with your project, which may be a compiler or an interpreter, you'll want to provide a set of examples showing how the language works as well as some documentation explaining the language itself so that new users can try it out.

What libraries you can use

You can use any libraries you'd like to help build your project - lexical analysers, parser generators, codgen frameworks like llvm, you name it.

Finding a group

If you are looking to find a group or chat with other participants, we have a discord.

Team size

You can have a team of just yourself or any number team members.

Licensing

You retain the rights to your project. The only rights I ask for are to be able to host the code in a repo that's part of this GitHub organization, for me and others to use the code when evaluating winners and, if you're a winner, to make a video about your project.

About