Stream: contributing

Topic: new contributors


view this post on Zulip Richard Feldman (Oct 22 2023 at 15:19):

I'd like to start this topic so that anyone who's interested in becoming a new contributor can make a post here, and then we can help them get up and running!

view this post on Zulip Elias Mulhall (Oct 22 2023 at 17:53):

I'm interested! Work is pretty demanding right now, but I've been trying to set aside a bit of time to get up to speed and engage with things on zulip. January through March I'm doing a 3 month batch at RC and would be interested in spending a good chunk of that time contributing to Roc.

view this post on Zulip Richard Feldman (Oct 22 2023 at 18:08):

that's amazing!!! I've heard awesome things about the Recurse Center

view this post on Zulip Richard Feldman (Oct 22 2023 at 18:08):

do you have any ideas about what areas of Roc contributions in particular interest you?

view this post on Zulip Elias Mulhall (Oct 22 2023 at 21:21):

Long term: I would looove to work on the type checker, but I understand that's a pretty complicated piece of machinery. Also interested in learning more about how glue works and improve tooling related to building platforms.

Short term: I'm happy to pick up some smaller bugs and refactors. It would be neat to work on dbg ergonomics like calling as an expression, or improve expect output to show friendlier error messages.

I also have web dev experience, so I can help out in that area. I wouldn't mind improving the UX of generated docs.

view this post on Zulip Richard Feldman (Oct 22 2023 at 22:54):

very cool, those are all great options! Feel free to let us know whenever you're ready to start a project and we can figure something out! :grinning:

view this post on Zulip Isaac Van Doren (Oct 23 2023 at 04:04):

I’m also interested in contributing more. That said, I don’t want to commit to a specific project right now. I’m very interested in the type system and would love to learn more about it and possibly work on it eventually.

Also, gotta say, I’m having a blast using roc!

view this post on Zulip Tazmilur Saad (Oct 25 2023 at 01:51):

Hello. I have been following Roc for some time mostly through the Software Unscripted podcast. I've got the developer environment setup and am looking through the source code rn -- #5925 seems like a small issue I can get started with if that works all right. :)

view this post on Zulip Luke Boswell (Oct 25 2023 at 02:55):

Let us know if you need a hand :smile:

view this post on Zulip dhzdhd (Dec 26 2023 at 19:05):

Hello, found this issue that looks like something i can work on. I would like to know what crate the progress bar is part of, is it the cli crate?

view this post on Zulip Brendan Hansknecht (Dec 26 2023 at 19:25):

It's here: crates/packaging/src/https.rs

view this post on Zulip Brendan Hansknecht (Dec 26 2023 at 19:25):

Original PR for context: https://github.com/roc-lang/roc/pull/6098

view this post on Zulip dhzdhd (Dec 26 2023 at 19:33):

alright, i will look into working on this

view this post on Zulip dhzdhd (Dec 28 2023 at 19:16):

I implemented the suggested basic fix. Is there any module less than a megabyte that i can use for testing the feature? Or are there any unit tests to test this?

view this post on Zulip Brendan Hansknecht (Dec 28 2023 at 21:18):

I think most of the pure roc packages are way less than 1MB

view this post on Zulip Brendan Hansknecht (Dec 28 2023 at 21:18):

I don't think any unit tests exist for it

view this post on Zulip dhzdhd (Dec 29 2023 at 02:30):

Alright

view this post on Zulip Mayank Jain (Jan 13 2024 at 10:13):

Hello I am looking for new issues to contribute on, can I start with this task task?

view this post on Zulip Anton (Jan 13 2024 at 10:38):

Hi @Mayank Jain,
Excellent choice :) I think the changes need to be made inside this function.

view this post on Zulip cgatdv (Jan 18 2024 at 20:14):

Hello, would love to try a task or two.

And although this wasn't marked as a good first issue, this new issue seems pretty small and similar to the unix code right above.

If thats more than it appears, I can also do this very general zig test issue

view this post on Zulip Brendan Hansknecht (Jan 18 2024 at 20:36):

Assuming the first task is just matching unix, should be easy. If it is not, simply need to figure out how wasm actually represents and passes around a u128

view this post on Zulip Brendan Hansknecht (Jan 18 2024 at 20:36):

Would be reasonable to try to fix

view this post on Zulip Brendan Hansknecht (Jan 18 2024 at 20:37):

For the second one, feel free to add any amount of test cases to our zig builtins. In general, it is probably an issue that will stay open for a bit as people add tests to various parts of the bitcode.

view this post on Zulip cgatdv (Jan 18 2024 at 22:36):

Awesome, thanks!

view this post on Zulip Trevor Settles (Jan 20 2024 at 04:45):

I'm also interested in contributing! I've gotten hyped by listening to Richard talk about Roc in talks and podcasts a lot. I've been doing a lot of Rust in my personal projects, so I'm more comfortable writing Rust compared to Roc. I don't have a ton of spare time, so I can't take on anything huge but I'd still like to help where I can!

view this post on Zulip Hiroshi Takeuchi (Jan 25 2024 at 08:28):

Hi everyone, I'm also interested in contributing the project since I listened Richard's talk on a podcast. I am still learning Rust so will be looking into the issue list on GitHub and pick up an easy one first. Thanks!

view this post on Zulip Luke Boswell (Jan 25 2024 at 09:45):

Hi @Hiroshi Takeuchi , new contributors are always welcome :smiley: let us know if you would like assistance with anything. :roc:

view this post on Zulip Jonathan Schear (Feb 22 2024 at 03:01):

Hi folks, I'm interested in contributing. I was perusing the "good first issues" tag on GitHub, and found https://github.com/roc-lang/roc/issues/6386 (produced executables should be identical when produced in different folders). I've hit similar issues with other languages (which have prevented cross-machine caching of build outputs) so I'm roughly familiar with the problem; if anyone has pointers for where to start looking (for paths embedded in binaries) I'd appreciate them.

view this post on Zulip ElrohirGT (Jun 11 2024 at 22:03):

hi all! I've seen this issue on github https://github.com/roc-lang/roc/issues/5038 . This would be one of my first times contributing to Open Source and would like to start lightly, I would like to help adding more context to "*" operator in the documentation of roc.

view this post on Zulip Luke Boswell (Jun 11 2024 at 22:34):

The tutorial content is in www/content/tutorial.md, if you add the wording in there. You can test locally by using bash www/build.sh (first time to cache website assets locally) and then bash www/build-dev-local.sh to rebuild and see the website locally.

view this post on Zulip ElrohirGT (Jun 12 2024 at 00:47):

Luke Boswell said:

The tutorial content is in www/content/tutorial.md, if you add the wording in there. You can test locally by using bash www/build.sh (first time to cache website assets locally) and then bash www/build-dev-local.sh to rebuild and see the website locally.

Got it, will do now!

view this post on Zulip ElrohirGT (Jun 12 2024 at 02:49):

Luke Boswell said:

The tutorial content is in www/content/tutorial.md, if you add the wording in there. You can test locally by using bash www/build.sh (first time to cache website assets locally) and then bash www/build-dev-local.sh to rebuild and see the website locally.

I've tried to run the commands you pointed out, ./build.sh ran fine using the development shell from the nix flake. build-dev-local.sh didn't tho. I think it needs to have roc-cli installed. I added it to the nix flake is that ok? If the local code get's in a state where it can't be built the build-dev-local.sh will fail.

view this post on Zulip Luke Boswell (Jun 12 2024 at 02:51):

Sounds good, I'm not familiar with nix or flakes but that sounds helpful

view this post on Zulip ElrohirGT (Jun 12 2024 at 02:59):

https://github.com/roc-lang/roc/pull/6805
Done! Review it at your convenience!

view this post on Zulip Luke Boswell (Jun 12 2024 at 04:43):

It might be best to remove the nix changes and include those in a separate PR. It looks like CI isn't too happy with that.

view this post on Zulip ElrohirGT (Jun 12 2024 at 12:37):

Yeah, it seems that's the case. I'll remove the changes and update the PR

view this post on Zulip ElrohirGT (Jun 12 2024 at 14:01):

Done!

view this post on Zulip bernardino (Aug 24 2024 at 21:10):

Hi, while I'd love to contribute, I feel very "shaky" as a self-taught (hobbyist) developer ... :(

view this post on Zulip Sam Mohr (Aug 24 2024 at 22:09):

@bernardino if you don't have a formal background, that doesn't mean you can't program well. I know plenty of people that are better programmers than me that have fewer degrees than I do.

view this post on Zulip Sam Mohr (Aug 24 2024 at 22:11):

So if you want to contribute, I'm sure you can do a good job! Many of us, including me, would be happy to help you find an issue to start contributing with! Just DM me and we'll figure something out

view this post on Zulip bernardino (Aug 24 2024 at 22:17):

@Sam Mohr Thanks, will do!

view this post on Zulip Luke Boswell (Aug 24 2024 at 22:45):

I second that.

I only started learning Rust and Zig just so I could contribute to roc. It's been great fun, and everyone has been so helpful.

I love jumping on a call and pairing on some really low level topic and learning crazy new things I could never have imagined I would have learned. Working on a compiler project seems to have it all, there's interesting problems everywhere.

I started by learning Roc and writing docs and finding things that were missing.

:grinning_face_with_smiling_eyes:

view this post on Zulip Sam Mohr (Aug 24 2024 at 22:55):

I think Luke and I have called about once a week or so in the past few weeks, it's been pretty helpful

view this post on Zulip bernardino (Aug 24 2024 at 22:57):

@Luke Boswell and @Sam Mohr that's incredibly helpful! Thanks to you both.

view this post on Zulip mattaiod (Sep 16 2024 at 17:53):

Hello everyone, I'd love to contribute to RocLang.

I'm a big fan of functional programming and DX.

My skills are Rust writing and Typescript robustness.

=> I'm looking forward to all the resources I can read to be able to contribute with my first contribution.

Thank you all

view this post on Zulip Sam Mohr (Sep 16 2024 at 19:31):

@mattaiod welcome to the Roc language Zulip! We'd be happy to help you find a specific task that you could start contributing on!

If you like FP and DX, then working on either the standard library or packages for the ecosystem are an easy direction to head in! Feel free to DM me if you need some ideas.

Since you already have Rust experience, you could consider picking up one of our good first issues from the compiler! If you need help picking one, again feel free to message me.

If neither of these seem appealing to you, we'll find something else for you to work on, there's plenty of work to do in tons of places

view this post on Zulip Andres Villegas (Oct 01 2024 at 16:14):

Just watched Brendan video about roctoberfest, super intersted in some of the syntax changes to include the "spread" (Is it how it is called in roc) in more places.

view this post on Zulip Anton (Oct 01 2024 at 17:20):

Hi @Andres Villegas,
#7093 is about that and is marked as a good first issue. Does that issue seem like something for you?

view this post on Zulip Andres Villegas (Oct 01 2024 at 17:37):

I was looking at this one https://github.com/roc-lang/roc/issues/7097 originally, but the one you link seems a bit easier which might be better for my first contribution. Any tips on where I can start looking for it in code are appreciated.

view this post on Zulip Anton (Oct 01 2024 at 17:47):

This seems to be the spot :)
https://github.com/roc-lang/roc/blob/aaeefc09b60313a28597372d3fdec041c1b96a22/crates/compiler/can/src/desugar.rs#L1235

view this post on Zulip Andres Villegas (Oct 01 2024 at 17:51):

Sounds good! is the idea to keep both syntaxes or remove the .. as all togheter?

view this post on Zulip Anton (Oct 01 2024 at 17:52):

I think we can just do a full replacement

view this post on Zulip Sam Mohr (Oct 01 2024 at 17:54):

I'd vote for full replacement, with an asterisk

view this post on Zulip Andres Villegas (Oct 01 2024 at 17:54):

What's the asterisk?

view this post on Zulip Sam Mohr (Oct 01 2024 at 17:55):

Namely, if the .. as behavior is really generic and we make it more fragile by special-case banning it for list segments, we should consider not removing it

view this post on Zulip Sam Mohr (Oct 01 2024 at 17:55):

But I don't think that's the case, meaning you should be able to just replace it

view this post on Zulip Sam Mohr (Oct 01 2024 at 17:56):

So yeah, feel free to ping me or anyone here, or make a new topic in #contributing if you run into anything!

view this post on Zulip Andres Villegas (Oct 02 2024 at 04:13):

What could be the reason for roc_load compiling taking for ever? I made a small change and was expecting either a compile error or a runtime bug, but the build is just stuck in roc_load. The change I made is in the compiler crate

view this post on Zulip Luke Boswell (Oct 02 2024 at 04:17):

When you build using cargo try using -vvv

view this post on Zulip Luke Boswell (Oct 02 2024 at 04:17):

It is most likely an issue when building the builtins I imagine

view this post on Zulip Luke Boswell (Oct 02 2024 at 04:17):

Or could be a thread crashing silently and so the other thread is waiting for it to finish

view this post on Zulip Luke Boswell (Oct 02 2024 at 04:19):

I'm guessing the second actually... I think we have an issue currently that if a roc_load thread crashes it just hangs while it waits for the thread to report. I found that while working on an experiment building a wasm playground where I was stubbing out the filesystem implementation

view this post on Zulip Luke Boswell (Oct 02 2024 at 04:19):

I never found a way to make it panic loudly, I think @Brendan Hansknecht might know how to do that

view this post on Zulip Brendan Hansknecht (Oct 02 2024 at 04:29):

Sometimes just running roc check from a previous version of roc on the builtins can catch the bug with this. Otherwise, I think setting ROC_SKIP_SUBS_CACHE=1 helps.

view this post on Zulip Brendan Hansknecht (Oct 02 2024 at 04:29):

So ROC_SKIP_SUBS_CACHE=1 cargo build --bin roc for example

view this post on Zulip Brendan Hansknecht (Oct 08 2024 at 02:35):

Good first issue and medium sized follow project for any interested contributors: https://roc.zulipchat.com/#narrow/stream/231634-beginners/topic/Option.20for.20aggressive.20inlining.3F/near/475445995

Totally fine to just do the small first issue or to tackle the entire thing.

view this post on Zulip Hrishikesh Dharam (Oct 09 2024 at 16:19):

Hi there!

I submitted my first PR yesterday and had some questions about dev setup so that potential future PRs can go smoothly

  1. I am using nix (without really understanding it for now) with vscode as my editor. Is my understanding correct that I should always launch vscode from the nix shell, and all the extensions I want should be in the vscodeExtensions list in the flake.nix file? E.g. The vscode installation when I run from the nix-shell is completely independent of my system vscode installation. Edit: I reread the devtools README and I think my understanding is right.
  2. Yesterday, while I was running tests, I saw these files get generated. Did I do something wrong, or is this expected?
Untracked files:
  (use "git add <file>..." to include in what will be committed)
        crates/glue/tests/fixtures/basic-record/Cargo 2.toml
        crates/glue/tests/fixtures/basic-record/build 2.rs
        ...

Thanks for your help!

view this post on Zulip Anton (Oct 09 2024 at 16:44):

all the extensions I want should be in the vscodeExtensions list in the flake.nix file?

Correct. I think if you use code --extensions-dir="$HOME/.vscode/extensions" you can easily re-use your pre-installed extensions.

The vscode installation when I run from the nix-shell is completely independent

Yes, I believe that was necessary for the rust analyzer to work properly.

view this post on Zulip Anton (Oct 09 2024 at 16:45):

Yesterday, while I was running tests, I saw these files get generated. Did I do something wrong, or is this expected?

Yeah I think something went wrong there but I expect you'll be able to delete those files without issue

view this post on Zulip Hrishikesh Dharam (Oct 09 2024 at 17:42):

Understood, thank you!

view this post on Zulip Hrishikesh Dharam (Oct 09 2024 at 22:01):

Is this bug about equality not being resolved correctly for sets within records a reasonable second issue to tackle?

So far I've only looked at the parsing stage in the compiler. I don't know anything about codegen or LLVM but I am very interested in getting a birds-eye view of the compiler stages end-to-end. If this one is too complicated, are there any simpler issues you folks would recommend that involve any stage after parsing?

view this post on Zulip Brendan Hansknecht (Oct 09 2024 at 22:14):

That definitely would get you into the guts of code gen which could be quite interesting.

view this post on Zulip Brendan Hansknecht (Oct 09 2024 at 22:14):

I'm really not sure on difficulty. My gut feeling is that the actual change won't be that complicated, but it might be hard to parse through things and reach the solution

view this post on Zulip Brendan Hansknecht (Oct 09 2024 at 22:14):

I think it could be worth trying if you want to

view this post on Zulip Brendan Hansknecht (Oct 09 2024 at 22:15):

The issue is probably somewhere in the compiler/derive crate

view this post on Zulip Brendan Hansknecht (Oct 09 2024 at 22:16):

That or derive_key

view this post on Zulip Hrishikesh Dharam (Oct 10 2024 at 15:40):

Thanks for the pointers. I spent some time looking and I realized I am missing a lot of context and relevant concepts. I'll just follow the issue for now and try to build up the relevant knowledge in parallel.

view this post on Zulip Brendan Hansknecht (Oct 10 2024 at 15:59):

@Hrishikesh Dharam anything specific you are interested in learning more about? Maybe we can find a less complex bug that still helps you explore more of the compiler.

view this post on Zulip Hrishikesh Dharam (Oct 10 2024 at 16:16):

Anything that comes after the initial parsing stage, so nothing very specific :)
Type inference, the Roc IR, canonicalization, and codegen all sound very interesting!

view this post on Zulip Brendan Hansknecht (Oct 10 2024 at 16:46):

Maybe this: https://github.com/roc-lang/roc/issues/6928

Feels like it would be the next step down past parsing?


This would be deeper in type checking, but I'm not sure the difficulty: https://github.com/roc-lang/roc/issues/7078


If you are interested in jumping all the way to the backend, dev backend still is missing implementations of a number of ops. These implementation generally would be in assembly (or built from other dev backend primtives). This is a probably stale list, but I am sure some of them are still missing: https://github.com/roc-lang/roc/issues/3513

view this post on Zulip Hrishikesh Dharam (Oct 10 2024 at 16:48):

wow, thanks so much for pulling these up! I'll start with the first issue and go from there.

view this post on Zulip Sam Mohr (Oct 12 2024 at 08:26):

@Pradeep Dhane welcome to the Roc Zulip chat!

view this post on Zulip Sam Mohr (Oct 12 2024 at 08:26):

We've got lots of stuff that a new contributor could be working on in lots of parts of the Roc space. There's compiler development for syntax, std library work, performance optimizations, and more!

view this post on Zulip Sam Mohr (Oct 12 2024 at 08:27):

There's also plenty of work in the ecosystem to be done with respect to package and platform work.

view this post on Zulip Sam Mohr (Oct 12 2024 at 08:27):

Do you have something in particular that you enjoy working on? Compiler frontend, compiler backend, bug fixes, Rust dev, Zig dev, Roc dev?

view this post on Zulip Sam Mohr (Oct 12 2024 at 08:28):

If you do, let us know and we can help find you something to work on.

view this post on Zulip Sam Mohr (Oct 12 2024 at 08:28):

Otherwise, I'd recommend checking out our good first issues on GitHub

view this post on Zulip Pradeep Dhane (Oct 12 2024 at 08:32):

I am happy to contribute good first issues

view this post on Zulip Sam Mohr (Oct 12 2024 at 08:34):

Great! Do you have experience writing in of the following:

view this post on Zulip Pradeep Dhane (Oct 12 2024 at 08:35):

no sir

view this post on Zulip Sam Mohr (Oct 12 2024 at 08:35):

Good to know

view this post on Zulip Pradeep Dhane (Oct 12 2024 at 08:36):

My skills-java,c,javascript,html,css,DSA

view this post on Zulip Sam Mohr (Oct 12 2024 at 08:36):

Okay, cool!

view this post on Zulip Sam Mohr (Oct 12 2024 at 08:37):

I'm looking through the aforementioned "good first issues" to see what would be workable without language knowledge

view this post on Zulip Sam Mohr (Oct 12 2024 at 08:37):

One sec

view this post on Zulip Pradeep Dhane (Oct 12 2024 at 08:37):

yes sir

view this post on Zulip Sam Mohr (Oct 12 2024 at 08:41):

Okay, so there seem to be multiple issues surrounding our Roc generated documentation. Not as much with the contents, but more with the user interface. If that's something that would interest you, I can point to a few different issues.

But if you'd rather work on the language itself, then I can help you get some learning resources for an intro to Rust

view this post on Zulip Sam Mohr (Oct 12 2024 at 08:42):

I'll preemptively list some issues for improving our docs site

view this post on Zulip Sam Mohr (Oct 12 2024 at 08:44):

view this post on Zulip Sam Mohr (Oct 12 2024 at 08:45):

These are all of the issues that I found surrounding something a web dev could jump right into

view this post on Zulip Sam Mohr (Oct 12 2024 at 08:46):

Not all of the issues have full detail on the problems we are seeing, so if you need details feel free to ask here!

view this post on Zulip Pradeep Dhane (Oct 12 2024 at 08:46):

sir I am completed my first year and now I am in 2nd year and new to opensouce so I do not have knowledge about rust.

view this post on Zulip Sam Mohr (Oct 12 2024 at 08:46):

Oh yeah, that's totally fine

view this post on Zulip Sam Mohr (Oct 12 2024 at 08:47):

I don't mean to pressure you that you need to learn Rust or something. I'm just trying to avoid making you feel like the only way you can contribute is to work on our websites

view this post on Zulip Pradeep Dhane (Oct 12 2024 at 08:47):

request to you that assign me with less coding or good first issue

view this post on Zulip Sam Mohr (Oct 12 2024 at 08:48):

I'm pretty sure that all of the bullet points don't need strong coding background

view this post on Zulip Sam Mohr (Oct 12 2024 at 08:48):

If you really don't have a preference

view this post on Zulip Sam Mohr (Oct 12 2024 at 08:48):

I can just pick one for you

view this post on Zulip Sam Mohr (Oct 12 2024 at 08:48):

Let's see...

view this post on Zulip Pradeep Dhane (Oct 12 2024 at 08:52):

I am ready to contribute in user interface

view this post on Zulip Pradeep Dhane (Oct 12 2024 at 08:52):

I am ready to contribute in user interface

view this post on Zulip Sam Mohr (Oct 12 2024 at 08:53):

This would be my vote: https://github.com/roc-lang/roc/issues/5220

view this post on Zulip Sam Mohr (Oct 12 2024 at 08:53):

Let me know if that issue makes sense to you

view this post on Zulip Pradeep Dhane (Oct 12 2024 at 08:54):

ok

view this post on Zulip luigim (Oct 14 2024 at 19:19):

Hi everyone, just wanted to step into this channel and give a quick intro of myself as a new contributor as well as gather some potential input for my currently assigned issue! My name is Luigi. Currently an MSCS student with a lot of passion for PL design. I've worked with building my own language projects so I'm excited to contribute to something much larger and learn with you all

As for my current issue, I've asked to take on this one https://github.com/roc-lang/roc/issues/6962 and just wanted to gather some opinions on my current research and approach.

1) I'm thinking of sanitizing the input of package links in order to remove illegal characters in the way you would to sanitize SQL injections. The RFC speficiation for URI (https://datatracker.ietf.org/doc/html/rfc3986#autoid-1) gives a good run down of what characters are and aren't allowed so I'm currently thinking of using regex to sanitize the inputs

2) On top of this, would there be anything more to consider to further detect illegal URLs? Just looking for other ideas or things I may have missed.

Thank you all!

view this post on Zulip Anton (Oct 15 2024 at 12:02):

in order to remove illegal characters

I would prefer to not remove characters under the hood, but throw a parser error message with the illegal characters indicated. We can also show the URL with illegal characters removed in the error message.

view this post on Zulip Anton (Oct 15 2024 at 12:09):

Should we require https?

view this post on Zulip Richard Feldman (Oct 15 2024 at 12:09):

I think so, yeah

view this post on Zulip Anton (Oct 15 2024 at 12:23):

I feel like it would be smart to just error if the url contains any uncommon characters (that are allowed under rfc3986). The error would say e.g.:

The URL you provided contains characters that are rare in URLs:
    <URL with rare characters indicated>
Take a good look and make sure you trust it. You can allow the URL by putting `weird-url` before it.

view this post on Zulip Anton (Oct 15 2024 at 12:24):

@luigim just a note; we could add restrictions one by one no need to do it all in 1 PR.

view this post on Zulip Richard Feldman (Oct 15 2024 at 12:27):

I'd like to start with just saying they're disallowed

view this post on Zulip Richard Feldman (Oct 15 2024 at 12:28):

and then if someone runs into a scenario where they're really necessary, we can revisit a design to potentially allow them with a warning by default

view this post on Zulip Anton (Oct 15 2024 at 13:12):

if the url contains any uncommon characters

To determine these characters we could find some AI code training dataset, extract all Cargo.toml files (and analogous files for other languages) and go through the characters in the URLs in those files.

view this post on Zulip luigim (Oct 15 2024 at 17:28):

Hi all, thank you for the clarification! I'll first work on just the detection aspect and then check in again soon.

@Anton That may be something interesting to look into as well. Thanks

view this post on Zulip luigim (Oct 23 2024 at 19:59):

Hi, just wanted to let y'all know I haven't disappeared off the face of the earth and am still intending to work on this (https://github.com/roc-lang/roc/issues/6962) when I finally get some free time! Been busy.

view this post on Zulip Brendan Hansknecht (Oct 23 2024 at 22:57):

No worries. Take the time you need!

view this post on Zulip Luke Boswell (Oct 23 2024 at 22:58):

Yeah, no rush or anything. If you need help, I'm happy to find a time and jump on a call or something. :smiley:

view this post on Zulip luigim (Oct 25 2024 at 23:11):

Luke Boswell said:

Yeah, no rush or anything. If you need help, I'm happy to find a time and jump on a call or something. :smiley:

Thank you! I'll definitely take you up on that offer. Just eager to learn about the project more in depth as well

view this post on Zulip Jamie Neubert Pedersen (Oct 26 2024 at 17:03):

Hi :wave:. I really dig the language and want to contribute! I don't have any Rust experience and only minimal Zig experience so far, but I am willing to learn. Although are there other ways to contribute? For example Roc code or libraries you see useful that I could help build out? :blush:

view this post on Zulip Anton (Oct 26 2024 at 17:22):

Welcome Jamie :)
If you want to work in Roc there are many good first issues in the examples repo.

view this post on Zulip Robin Camarasa (Oct 28 2024 at 19:03):

Good afternoon (or morning given your timezone), I am Robin a French dev based in the Netherlands with a bit of experience in Rust, no experience of Zig, but a lot of motivation. First of all, I must congratulate all the contributors of the ROC project as I am really impressed by its quality and have been really satisfied as a user. So satisfied that I would want to contribute as well. I have seen the following issue in the github repo: https://github.com/roc-lang/roc/issues/3139 . Is this issue still relevant if yes I would like to give it a shot

view this post on Zulip Luke Boswell (Oct 28 2024 at 19:13):

Welcome Robin :wave:

That issue is still free, there's no one working on it.

I'm happy to help you if you need any assistance getting started.

view this post on Zulip Sam Mohr (Oct 28 2024 at 19:16):

A lot of us joined the Roc project for the same reason: it's a great language, and we want to see it grow!

view this post on Zulip Sam Mohr (Oct 28 2024 at 19:17):

I might suggest before you make a PR that you read over the material mentioned in the issue and then come back here and make a discussion about it

view this post on Zulip Sam Mohr (Oct 28 2024 at 19:18):

There's a good deal of info that's potentially out of date.

view this post on Zulip Sam Mohr (Oct 28 2024 at 19:18):

though I totally get the value of discovery via writing code, of course feel free to try scaffolding something out and even doing a draft PR if that help you think about this

view this post on Zulip Cancai Cai (Feb 16 2025 at 07:15):

Hello everyone, I am a developer from China, currently working on some Data Infra related things. I have no experience with zig, or even compiler theory.

In my spare time, I always like to participate in some open source projects that I am interested in to learn. I have been involved in Calcite for more than a year (although my work does not use it). In the process of participating in Calcite, I found that I am very interested in type systems. Some people suggested that I could participate in some other projects with deeper levels to learn type systems.

I was deeply impressed by roc (I have been observing it for half a month).

If I want to start with the type system of roc, do you have any suggestions?

view this post on Zulip Luke Boswell (Feb 16 2025 at 07:18):

Cool.

I'm just a type system beginner too. I've started learning so I can hopefully help us reimplement the roc typechecker.

I found this YT series has been helpful for learning about the type system, maybe it will help you too? https://www.youtube.com/watch?v=b5VhYkvOk30&list=PLoyEIY-nZq_uipRkxG79uzAgfqDuHzot-

view this post on Zulip Cancai Cai (Feb 16 2025 at 07:23):

Thank you very much, I will try to participate in the roc type system in the future

view this post on Zulip Sam Mohr (Feb 16 2025 at 08:52):

@Cancai Cai the type system definitely has a lot of moving parts, let us know when you have time to work on Roc and we'll find some work for you!

view this post on Zulip Cancai Cai (Feb 16 2025 at 09:16):

Thank you, I might look at the implementation of some type systems in rust first, and in the process I may propose some small PRs (such as improving tests).

When I am ready, I am very happy to take on the task. I am ready to devote as much of my spare time to roc as possible, because this is a very complex project and it is worth my time to study it in depth.

view this post on Zulip aditya giri (Mar 28 2025 at 06:05):

:wave: hi there! i've been interested in contributing to roc for a little while now and i'm hoping to start a conversation on what some useful avenues would be! i have a little bit of experience with rust and with PL in general from grad school (but still am for all practical purposes a novice). i've been looking for ways to work on some type-theory / type-theory adjacent stuff in a real setting, mostly as a personal project. some of the proposals in the project ideas doc look pretty interesting! i've got roc built locally and i'm checking out some of the issues on github just to wet my feet but i'd love to chat about what might be fun and useful to work on :)

view this post on Zulip Anton (Mar 28 2025 at 09:23):

Welcome @aditya giri :)

I've been looking for ways to work on some type-theory / type-theory adjacent stuff

Do we have something accessible in the new compiler @Sam Mohr?

view this post on Zulip Magdiel Amor (Apr 22 2025 at 09:43):

Looking towards my next pull request as a contributor... Since the link checker I have been drowning in the Roc Tutorial (which I think is so helpful so far).

@Anton any good first issues I could tackle again?

view this post on Zulip Anton (Apr 22 2025 at 09:50):

Cool @Magdiel Amor, the formatting of our AI docs could be improved. It currently looks like this:

is_empty

Type Annotation

Str -> Bool

Description

Returns [Bool.true] if the string is empty, and [Bool.false] otherwise.

expect Str.is_empty("hi!") == Bool.false
expect Str.is_empty("") == Bool.true

But I think it should be something like this:

Returns [Bool.true] if the string is empty, and [Bool.false] otherwise.

expect Str.is_empty("hi!") == Bool.false
expect Str.is_empty("") == Bool.true
is_empty : Str -> Bool

Does that seem like something you're interested in?

view this post on Zulip Anton (Apr 22 2025 at 09:50):

You may want to inspect the raw markdown of my message for clarity

view this post on Zulip Anton (Apr 22 2025 at 09:59):

But I think it should be something like this:

We could actually just provide the source code without the implementation of the functions (like is_empty).

view this post on Zulip Magdiel Amor (Apr 22 2025 at 10:00):

Ok great I'm in

Anton said:

But I think it should be something like this:

We could actually just provide the source code without the implementation of the functions (like is_empty).

Sounds interesting...

view this post on Zulip Anton (Apr 22 2025 at 10:11):

Awesome, I'm going to eat lunch and will tell you where the changes need to be made after that

view this post on Zulip Magdiel Amor (Apr 22 2025 at 10:12):

Ok have fun and enjoy your meal. :blush:

view this post on Zulip Anton (Apr 22 2025 at 11:20):

Only this function should need changes.

view this post on Zulip Magdiel Amor (Apr 22 2025 at 14:56):

@Anton might need some help here. Have some time to spare?

view this post on Zulip Magdiel Amor (Apr 22 2025 at 15:03):

Anton said:

You may want to inspect the raw markdown of my message for clarity

how do i do this please?

view this post on Zulip Anton (Apr 22 2025 at 15:18):

On zulip, if you click the three dots to the top right of the message, you can click on "view the original message". That will display the raw markdown.


Last updated: Jul 06 2025 at 12:14 UTC