darklang / darklang/dark

Some available near-term tasks

Open
#5,409 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
F#
Stars
2.2k
Forks
115
Avg merge
17h 28m
Merged PRs (30d)
50

Description

Writing this up for @ditansu who has volunteered some availability to help out with dark-next.
That said, this is generally a good snapshot of what's most available right now while ...

  • @OceanOak is busy finishing up our tree-sitter parser, and removal of LibParser
  • I'm busy rewriting the interpreter, which includes impacts to run-time type-checking (this work blocks quite a few tasks 'above' it, and I won't be done for a week or so 🤞 🚧)

, and it's probably useful to anyone else who's interested in contributing as well.


First, here are some good warm-up tasks:

  • just the the devcontainer running, and build working, incl tests passing -- it's been a few months, and things have changed
  • if anything is confusing in the repo, let us know (incl docs, code, etc). maybe just peruse and ask Qs.
  • get the devcontainer to not re-download tree-sitter for every container restart
    • see build-tree-sitter script. It clones every time now but if we already have the artifact, there should be no need to re-clone.
    • (I ran into this recently when restarting the container on a train without internet)
    • (Dmitrii has completed this)
  • tidy any CLEANUPs and TODOs
    • just search throughout the codebase for TODO and CLEANUP and see if there's any low-hanging fruit (accessible tech debt to kill)
    • avoid anything in: RT, Interpreter, Type-checking, Parsing
    • so, Builtins and up is OK/unblocked
    • if anything is nonobvious, or seems quite involved, probably skip over it. There are a lot of these that probably only make sense to me or Ocean (or Paul), and would be better if we just stumbled upon them later

after that, here are some projects I think would be in your wheelhouse, and very appreciated:

If any of those are of interest, I'll be happy to write up more on any specific one.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

This issue is a broad availability list rather than a scoped task. Start by choosing one unchecked item and read its referenced issue, such as #5308, #5252, or #5239; for the warm-up task, inspect the build-tree-sitter script. Done criteria are not defined here, so confirm the scope and acceptance conditions before starting.

Written by the indexing model from the issue text.

Assessment

Tech stack
fsharp, wasm
Domain
build-system, cli, compilers, developer-experience
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
18/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.