Coder Social home page Coder Social logo

langjam's Introduction

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. The theme will be announced when the jam starts. You can visit the jam repo

  • 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
  • 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

Past Lang Jams

#0003 - The third lang jam theme was "Beautiful Assembly". The third lang jam started on Friday the 22nd of July at 9pm UK time 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
  • 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

#0002 - The second Lang Jam started on Friday the 3rd of December at 7pm UK time and ran for 7 days, ending on 7pm on the following Friday (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.

#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. 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 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 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
  • 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 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.

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.

langjam's People

Contributors

breck7 avatar brendanzab avatar cad97 avatar geekypandey avatar gxfr avatar hectorhw avatar obsfx avatar pdubroy avatar redquark avatar rickardlindberg avatar sophiajt avatar spacejam avatar spdegabrielle avatar tekknolagi avatar yjdoc2 avatar zesterer avatar zoomlogo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

langjam's Issues

Can I use C#?

.NET SDK is hosted in Microsoft's repo. But the installation is very simple:
https://docs.microsoft.com/en-us/dotnet/core/install/linux-debian#debian-11-

wget https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb

sudo apt-get update; \
  sudo apt-get install -y apt-transport-https && \
  sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-6.0

Can I use it in the jam?

Unclear language requirements

The README states that languages can be written in a language that is part of a standard Ubuntu/Debian or Arch distro. Does this mean that it has to be present on a fresh install, or just available as part of the official repositories?

Modification of an already existing project

Hi, I started one year ago (but never completed) a knowledge-base PL. I read about this JAM. I like the theme, because I can modify and maybe complete the past project from a knowledge-base to a literate-programming PL, linking comments and code in a good way.

If I do this, do I break the rules of the JAM? Maybe I can show on a separate repo/branch the starting code and documenting the work-done for this specific JAM, that will be a lot. By the way, I doubt to finish it.

Let me know, thanks.

Can I use a non-repository language with an easy install?

I have a homemade language intended for making it fast to implement new languages (in a “language-oriented programming” style, like Racket). It’s not in any repo, but it’s a Rust package, so it should fit in the three-step rule:

sudo apt install cargo
cargo install unseemly
unseemly $LANGUAGE_DEFINITION $PROGRAM

Would it be alright to use it? Unseemly is rough and unfinished enough that it might be moot, but it might be fun to take it for a spin this way.

Update Readme

So, the first jam has ended and we probably should update the readme. In addition to updating the status of the aforementioned jam, I would like to see some information on when the next jam is planned and how frequently these will happen (I’d honestly say that monthly would be ideal, since the competition is rather unique compared to game jams).

Q: Will the theme be pre-released?

I understand a major purpose of holding the theme secret is to prevent people getting a head start on development.

Still, it would be nice—and possibly even a way to drum up some interest—if the theme or some hints about it was released a little before start; a day or two perhaps. I know it would give me some to ruminate and get hyped for the weekend ahead.

Additionally, a little extra time to think tactically about what basic stack I will use would be appreciated.

LangJam Tag for searching in other services

Could we try and consider a tag that is promoted to participants for this event? #LangJam2021 ?

Theres some great possible value to be had in those that will be streaming their 48 hours.

Mac/win dev and package repo‘s not up-to-date

I’d like to use Racket and other languages but

A) I use Mac & windows
B) Debian/Ubuntu or Arch package repo‘s all have old versions of Racket

Can you clarify the rules to permit
A) allow language dev in Mac and/or Windows
B) allow use of official installers, i.e. https://download.racket-lang.org/ for Racket, and official installers for other languages not updated in Debian/Ubuntu or Arch package repo‘s

Link not working in resources.

In the resources file, under Books, the link titled Compiler course notes for creating a Python compiler is not working. It just hangs while trying to connect.

team?

Hello! so i'm new to jams and never been to coding places. I just build websites and learning new tools. I'm pretty interested in this too and I don't think I can do this alone since I'm a beginner, is there any team that I can join and help out? I know Typescript, JS, JSX and some Python.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.