Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Add Go as a playable language

Aperta
#3 1 commento 0 reazioni 1 assegnatario Vedi su GitHub

@PatrickLoughran ci sta già lavorando.

Dal 8/10/2026.

Valutazione

Questa issue non è ancora stata valutata.

Descrizione

good first issue help wanted

Probably the easiest of the three: encoding/json handles input and output.

CodeArena runs player code in Python, JavaScript and TypeScript. Adding a language is self-contained and a great way to get into the codebase.

Where the code lives

  • backend/arena/runner/harness.js: one small driver per language. The driver reads {"tests":[{"args":[...]}]} as JSON on stdin, calls the player's function once per test, and prints the per-run marker line followed by a JSON array of { ok, value } / { ok, error }. Copy the shape of pythonProgram / javascriptProgram. The marker nonce must stay per-run.
  • LANGUAGES in the same file: add { label, judge0Id }.
  • starterCode(problem, language): typed starter code built from problem.function (name, params[].type, returns).
  • backend/arena/runner/executors.js: localExecutor only knows node and python3; add your compiler for local development if you like (it is never used in production).

Types the 45 problems use

integer, integer[], integer[][], number[], string, string[], boolean, and tuples: [integer, integer], [integer, integer][], [integer, integer, integer][], [string, integer][], [string, string, string][], [integer, integer, string].

Statically typed languages need a mapping for each of these. If a mixed tuple such as [string, integer] has no clean equivalent in your language, it is fine to leave that problem out for your language rather than force an awkward type: the loader supports per-problem languages via runnableLanguages.

Definition of done

  • Driver plus typed starter code for every problem your language supports.
  • Judge0 language id wired up (Judge0 CE: Java 62, C++ 54, Go 60; confirm on your Judge0 instance).
  • Proof: correct solutions pass and wrong ones fail on a spread of problems (easy, medium, hard, and every type above) against a real Judge0 (docker-compose.judge0.yml in the repo root runs one locally).
  • Tests in backend/tests/ covering the driver output and starter code; npm test stays green.
  • node scripts/check-boundary.js passes.
Lingua principale
JavaScript
Stelle
0
Fork
2
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di sennaicodes/codearena

Tutte le issue di sennaicodes/codearena

Issue simili

Altre issue su JavaScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.