Skip to main content

If you don't know our stack (F# and ReScript)

F# and ReScript can be a little bit daunting, but even if you don't know them, there are a bunch of ways to get involved.

Other languages

Dark has a number of different languages, including Rust, bash, Python, Javascript, HTML, and CSS.

We have issues in each of these:

Non-code

Lots of times we don't know what to do, and it's extremely valuable to have someone look into the problem and document what's happening. These issues are labeled "investigation".

Similar, the "needs thought" issue is about designing thoughtful solutions to sticky problems.

Writing docs

There are lots of docs that would be very helpful to write. If you look at the current docs, there are docs that would be useful that you can write as a non-expert.

There are a bunch of tutorials for different technologies, frameworks and libraries; writing one for another would be extremely useful. It would also allow you to write up how Dark could be improved to support that technology. You can even make video tutorials!

Similarly, we have some guides for people learning Dark who know other languages. Adding another language would be wonderful. See for example the Python version.

Reporting bugs

Dark has many bugs and problems: documenting them for other contributors to fix would be very useful. Small, compact descriptions with instructions to reproduce the bugs are very welcome. You can add them to the issue tracker.

Fluid editor

The "fluid" editor is how you write code in Dark. It is still often the case that you get an unexpected result when you type something: documenting individual cases as issues is very valuable!

Better error messages

Dark's error messages are not as good as they could be, and this is a real problem for users learning the language the first time. Documenting a bad error message, especially with a suggested better version, is a really useful contribution.

Learning F# or ReScript

Dark is almost everybody's first ReScript or F# project. So if you don't know these two similar languages, join the club - we all learned as we contributed to Dark. Fortunately, they are very similar to Dark.

There are a number of resources to help as well:

Also, some bugs, especially our initiatives, require almost no F# or ReScript knowledge, despite the fact that they are in those parts of the codebase. People with no prior exposure to them should be able to make a useful change to one of these in very little time.