Stream: contributing

Topic: Adding the parallel-letter-frequency Exercism exercise?


view this post on Zulip Aurélien Geron (Aug 09 2026 at 23:13):

The parallel-letter-frequency exercise on Exercism.org is about parallel computing: the user must write code that counts the number of letters in multiple string, processing strings in parallel.

Is there currently any platform I could use for such parallel computing? None are listed on roc-awesome, but perhaps there's a hidden gem out there?

view this post on Zulip Luke Boswell (Aug 09 2026 at 23:20):

I'm not tracking anything.

view this post on Zulip Aurélien Geron (Aug 09 2026 at 23:25):

I can imagine something like that:

import pf.Parallel

count_ascii_letters : Str -> Dict(U8, U64)
count_ascii_letters = |str| ...

reduce : List(Dict(U8, U64)) -> Dict(U8, U64)
reduce = |results| ...

parallel_count_ascii_letters : List(Str) -> Dict(U8, U64)
parallel_count_ascii_letters = |strings|
    Parallel.map_reduce(strings, count_ascii_letters, reduce)

view this post on Zulip Richard Feldman (Aug 09 2026 at 23:34):

yeah I have a bunch of plans for this but they are explicitly for 0.2.0 :smile:

view this post on Zulip Richard Feldman (Aug 09 2026 at 23:35):

it's a big pile of work to get it to a point where it's ergonomic

view this post on Zulip Aurélien Geron (Aug 09 2026 at 23:35):

That's great, looking forward to it!

view this post on Zulip Richard Feldman (Aug 09 2026 at 23:35):

but we've been designing with it in mind fortunately!

view this post on Zulip Aurélien Geron (Aug 09 2026 at 23:36):

Is the plan to include this in the language itself or to require the platform to provide parallel computing features?

view this post on Zulip Richard Feldman (Aug 09 2026 at 23:37):

a mix of both

view this post on Zulip Richard Feldman (Aug 09 2026 at 23:38):

there are some builtins that need to be added to describe what you want, and then it's up to the platform to decide how that works - e.g. greenthreads or similar

view this post on Zulip Aurélien Geron (Aug 09 2026 at 23:38):

Awesome


Last updated: Aug 12 2026 at 12:35 UTC