logoalt Hacker News

rtfeldmantoday at 3:13 PM0 repliesview on HN

Roc defaults functions to being pure, and functions that can run side effects are inferred to have a different type by the compiler based on usage. By convention, their names should also end in `!` (e.g. `transform` for the name of a pure function and `transform!` if it does side effects), and the compiler warns you if you don't follow that convention.

https://github.com/roc-lang/roc/blob/b2503210da6b58a4ce1254d...