Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/langjam/langjam
https://github.com/langjam/langjam
Last synced: 27 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/langjam/langjam
- Owner: langjam
- Created: 2021-07-09T04:56:13.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-02-17T08:54:25.000Z (over 1 year ago)
- Last Synced: 2024-10-01T14:01:34.698Z (about 1 month ago)
- Size: 686 KB
- Stars: 1,019
- Watchers: 98
- Forks: 31
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-list - langjam
README
# 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.
## Current Lang Jam
The next jam is 17-19 Feb 2023. It will begin on the 17th of Feb at [9pm UK time](https://everytimezone.com/?t=63eec380,4ec). The theme will be announced when the jam starts. You can visit the [jam repo](https://github.com/langjam/jam0004)
* Part 1: You have 48 hours to complete the code to your project and submit your PR to the repo (which will be announced when the theme is announced at the start of the jam). This will close on the 19th of Feb at [9pm UK time](https://everytimezone.com/?t=63f01500,a8c)
* Part 2: You have 12 total hours over the following 48 hours to work on the website and documentation for your project. Be sure to link to this website in the project you submit in part 1. This ends on the 21st of Feb at [9pm UK time](https://everytimezone.com/?t=63f2b800,a8c)## Past Lang Jams
#0003 - The third lang jam theme was ["Beautiful Assembly"](https://github.com/langjam/jam0003). The third lang jam started on Friday the 22nd of July at [9pm UK time](https://everytimezone.com/?t=62d9e880,4b0) and ran in two parts:
* Part 1: You have 48 hours to complete the code to your project and submit your PR to the repo (which will be announced when the theme is announced at the start of the jam). This will close on the 24th of July at [9pm UK time](https://everytimezone.com/?t=62dc8b80,4b0)
* Part 2: You have 12 total hours over the following 48 hours to work on the website and documentation for your project. Be sure to link to this website in the project you submit in part 1. This ends on the 26th of July at [9pm UK time](https://everytimezone.com/?t=62dddd00,a50)#0002 - The second Lang Jam started on Friday the 3rd of December at [7pm UK time](https://everytimezone.com/?t=61a95e00,474) and ran for 7 days, ending on [7pm on the following Friday](https://everytimezone.com/?t=61b29880,474) (the 10th of December). It's theme was "patterns". 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](https://github.com/langjam/jam0002).
#0001 - The inaugural 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](https://github.com/langjam/jam0001). You can [watch a video of the winners](https://www.youtube.com/watch?v=j7VAw8UfMeA).
## How it works
Each team will submit a PR that will create a directory named after their language which includes the project source code and build instructions for the language. Note: as part of Lang Jam 3, you'll also submit a link to the website you'll use for documentation. 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.
For the length of time the jam will run, including the start and end times, please see the [Upcoming Lang Jam](#upcoming-lang-jam) section above. This will list all the specific rules about that jam.
## 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
* FunOf 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 fewer.
## 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, codegen 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](https://discord.gg/Stt48NYNbN).
## 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.