Roc Zulip Daily Summary — 2026-02-27

  • Realm: https://roc.zulipchat.com
  • Window: 2026-02-27 12:00 AM to 2026-02-28 12:00 AM (America/Los_Angeles)
  • Messages: 40
  • LLM: vertex_open_model model=zai-org/glm-5-maas topics=8 ok=8/8

Top threads


Help Wanted : migrating the Roc Examples

Summary

Contributors are coordinating the migration of Roc examples to a new compiler version, discussing technical limitations with the “echo” platform and the Roc playground, and setting up CI for the new examples branch.

Key points

  • Norbert Hajagos volunteered to migrate examples alphabetically from the bottom up, reserving specific examples, and plans to avoid using AI.
  • Anton created a new-compiler branch in the examples repo for contributors to use as a base and instructed them to update CI scripts for ported examples.
  • Luke Boswell clarified that the roc build command is not supported for header-less apps (like those using the echo platform) because the CLI acts as the host; Richard Feldman decided to handle this with an error message rather than adding support.
  • Tobias Steckenborn suggested improving the Roc playground by using a headless platform to enable console output and better samples.

Open questions

  • None.

Action items

Key links


AI Workflow

Summary

Users discussed their workflows for running multiple parallel Claude Code sessions, comparing local directory management with proposed VM-based isolation strategies to enable the use of --dangerously-skip-permissions safely.

Key points

  • Anton uses one terminal per virtual desktop, utilizing multiple cloned folders (e.g., roc1 through roc9) to manage parallel work.
  • Jared Ramirez uses git worktrees or multiple repository clones to run concurrent sessions.
  • Niclas Ahden proposed running sessions in lightweight VMs managed by Nix to achieve total isolation, though he noted that security risks remain (e.g., malicious actors, access to secrets).
  • Claude Code on the web was highlighted as a potential security improvement and alternative to local VM management.

Open questions

  • None.

Action items

Key links


Reassign or redeclare a constant?

Summary

Daren reported a discrepancy between the Roc documentation, which states that redeclaring a constant causes a compile-time error, and the compiler’s actual behavior, which issues a warning but successfully runs the code. Contributors explained that this behavior aligns with Roc’s “inform don’t block” philosophy, though the compiler is intended to exit with a non-zero status code to prevent warnings from passing CI.

Key points

  • The tutorial claims constants cannot be redeclared, but the compiler currently allows the code to run with a warning.
  • Roc’s design philosophy is “inform don’t block,” allowing execution unless the compiler cannot determine the right course of action.
  • The compiler is designed to exit with a non-zero exit code when warnings occur, preventing such code from slipping through CI pipelines.

Open questions

  • Luke Boswell expressed uncertainty regarding the specific distinction between an Error and a Warning in the compiler’s output.

Action items

Key links


basic-dom

Summary

Ghislain shared a Mozilla article about WebAssembly and suggested it would be nice to have a Roc implementation of the WebAssembly Component Model. Luke Boswell mentioned he has a rough “basic-dom” platform he paused working on due to large object files, but plans to revisit and share it eventually.

Key points

  • Ghislain shared a link regarding making WebAssembly a “first class language” on the web.
  • Ghislain expressed interest in a Roc implementation of the WebAssembly Component Model.
  • Luke has a rough “basic-dom” platform used for testing the interpreter and validating the platform host boundary.
  • Development on basic-dom stalled because object files need to be much smaller (requiring dev or LLVM backends) to be usable.

Open questions

  • None.

Action items

Key links


command line parsing

Summary

Anton explains that the examples repository specifies exact versions and uses Roc alpha4 to avoid incompatibilities, with future plans to embed the version directly in .roc files.

Key points

  • The examples repository specifies exact versions, as seen in the CommandLineArgs example.
  • All examples in the repository currently use Roc alpha4.
  • There is a plan to specify the Roc version within the .roc file itself to prevent version incompatibility issues.

Open questions

  • None.

Action items

Key links


Unhelpful err msg for return in expression position

Summary

Norbert Hajagos reports an issue where using return in expression position results in an unhelpful error message, noting that the fix requires wrapping the return in a block.

Key points

  • The issue is documented in issue #9218.
  • The error occurs when return is used as an expression (e.g., _ => return "there") rather than a statement.
  • The solution is to wrap the return in braces (e.g., _ => { return "there" }).
  • The user found the error message confusing until they recalled previous discussions about return placement rules.

Open questions

  • None.

Action items

Key links


eval snapshots snippet expect

Summary

Anton provided a brief status update regarding pull request #9215, noting that it is currently blocked by other PRs that must be merged first.

Key points

  • PR #9215 is the subject of the update.
  • The PR cannot be merged immediately.
  • There is a dependency on other PRs being merged first.

Open questions

  • None identified from the single message provided.

Action items


Roc Examples - migrate to “Headerless” Applications

Summary

Anton expresses concern regarding a proposal to migrate the official Roc examples to use a “Headerless” application format instead of basic-cli.

Key points

  • The thread discusses a potential migration of the Roc language examples found on the website.
  • The proposed change involves replacing basic-cli with a “Headerless” application platform.
  • Anton worries that using the “Headerless” platform for examples might prevent users from discovering basic-cli.
  • There is a fear that users might stick with the “tutorial” platform indefinitely, hindering them from building real-world applications.

Open questions

  • None explicitly stated in the provided transcript.

Action items

Key links