diff --git a/config/generator_macros.j2 b/config/generator_macros.j2 index 1a4b287..01c8e10 100644 --- a/config/generator_macros.j2 +++ b/config/generator_macros.j2 @@ -24,11 +24,11 @@ app [main!] { {% if name == "unicode" -%} unicode: "https://github.com/roc-lang/unicode/releases/download/3.0.0/ACj5ceJnEY6vaejuQArN1naVzcxeThATZrKYYgzJCZJ5.tar.zst", {%- elif name == "isodate" -%} - isodate: "https://github.com/ageron/roc-isodate/releases/download/0.8.0/B2h6tefXQtEz9VG6QukLDBoGXhRtwGLj9sZHDEJaTHkS.tar.zst", + isodate: "https://github.com/ageron/roc-isodate/releases/download/0.8.1/DZNmAcoruJkepH2QNAzb6SAebPLKy8Nmru8oR4UZHAcr.tar.zst", {%- elif name == "parser" -%} parser: "https://github.com/lukewilliamboswell/roc-parser/releases/download/1.0.2/FrnJ4RGDKpQyoDyESNoBwFNviY4ZGbMVLnUjW9tvSRjk.tar.zst", {%- elif name == "random" -%} - random: "https://github.com/kili-ilo/roc-random/releases/download/0.9.0/CwDEAmyUMCsqW6dh4pxYnp7suUZAj5b5gpZuh7udtyE7.tar.zst", + random: "https://github.com/kili-ilo/roc-random/releases/download/0.9.2/2ZXLX8WRqrosGu1V3VL5aXqgtfTRvJmjFPx8a26ecVmc.tar.zst", {%- endif -%} {%- endfor %} } diff --git a/exercises/practice/affine-cipher/.meta/Example.roc b/exercises/practice/affine-cipher/.meta/Example.roc index 95f7bdb..34c9ef0 100644 --- a/exercises/practice/affine-cipher/.meta/Example.roc +++ b/exercises/practice/affine-cipher/.meta/Example.roc @@ -10,6 +10,7 @@ AffineCipher :: { a : U64, b : U64, encode_map : List(U8), decode_map : List(U8) encode_map : List(U8) encode_map = (0.. Board transpose = |board| { width = (board |> first_row).len() (0.. get_cell({ x, y }) { diff --git a/exercises/practice/crypto-square/.meta/Example.roc b/exercises/practice/crypto-square/.meta/Example.roc index d324104..89af845 100644 --- a/exercises/practice/crypto-square/.meta/Example.roc +++ b/exercises/practice/crypto-square/.meta/Example.roc @@ -30,6 +30,7 @@ CryptoSquare :: {}.{ "" } else { (0.. Str recite = |start_verse, end_verse| { (start_verse..=end_verse) + .iter() .map(verse) |> List.from_iter |> Str.join_with("\n") diff --git a/exercises/practice/largest-series-product/.meta/Example.roc b/exercises/practice/largest-series-product/.meta/Example.roc index 2f315a1..9149f7f 100644 --- a/exercises/practice/largest-series-product/.meta/Example.roc +++ b/exercises/practice/largest-series-product/.meta/Example.roc @@ -11,6 +11,7 @@ LargestSeriesProduct :: {}.{ Err(InvalidDigit) } else { (0..=(chars.len() - span)) + .iter() .map( |start_index| { chars diff --git a/exercises/practice/meetup/meetup-test.roc b/exercises/practice/meetup/meetup-test.roc index ec88247..15efe3f 100644 --- a/exercises/practice/meetup/meetup-test.roc +++ b/exercises/practice/meetup/meetup-test.roc @@ -3,7 +3,7 @@ # File last updated on 2026-08-01 app [main!] { pf: platform "https://github.com/roc-lang/basic-cli/releases/download/0.21.0/4rAQg8kUYZ3Vksr4qMQHpaFYNiHSn9GgS7gVxghd1XYV.tar.zst", - isodate: "https://github.com/ageron/roc-isodate/releases/download/0.8.0/B2h6tefXQtEz9VG6QukLDBoGXhRtwGLj9sZHDEJaTHkS.tar.zst", + isodate: "https://github.com/ageron/roc-isodate/releases/download/0.8.1/DZNmAcoruJkepH2QNAzb6SAebPLKy8Nmru8oR4UZHAcr.tar.zst", } import Meetup exposing [meetup] diff --git a/exercises/practice/ocr-numbers/.meta/Example.roc b/exercises/practice/ocr-numbers/.meta/Example.roc index d4143ab..a5e594d 100644 --- a/exercises/practice/ocr-numbers/.meta/Example.roc +++ b/exercises/practice/ocr-numbers/.meta/Example.roc @@ -58,6 +58,7 @@ get_digit_grids = |row_group, full_grid_width| { chunked_rows = row_group.map(|row| row |> chunks_of(3)) num_horizontal_chunks = full_grid_width // 3 (0.. List(List(U64)) pascals_triangle = |count| { (0.. List(U64) encoded_indices = |len, rails| { - indices = (0.. List.from_iter + indices = (0.. List.from_iter (0.. join_map( |rail| { period = 2 * (rails - 1) diff --git a/exercises/practice/rectangles/.meta/Example.roc b/exercises/practice/rectangles/.meta/Example.roc index ee6436b..d943112 100644 --- a/exercises/practice/rectangles/.meta/Example.roc +++ b/exercises/practice/rectangles/.meta/Example.roc @@ -12,11 +12,11 @@ Rectangles :: {}.{ row .map_with_index( |_char, x1| { - y2s = ((y1 + 1).. List(List(U8)) generate_robot_names = |{ seed, quantity }| { factory = Factory.new({ seed: seed }) (0.. List.from_iter |> Set.from_list +capital_letters = ('A'..='Z').iter() |> List.from_iter |> Set.from_list # The first character of a robot's name must range from 'A' to 'Z' expect { @@ -135,7 +136,7 @@ expect { ## The set of digits from '0' to '9' digits : Set(U8) -digits = ('0'..='9') |> List.from_iter |> Set.from_list +digits = ('0'..='9').iter() |> List.from_iter |> Set.from_list # The third character must range from '0' to '9' expect { diff --git a/exercises/practice/saddle-points/.meta/Example.roc b/exercises/practice/saddle-points/.meta/Example.roc index 5c7f37e..433bfa8 100644 --- a/exercises/practice/saddle-points/.meta/Example.roc +++ b/exercises/practice/saddle-points/.meta/Example.roc @@ -32,6 +32,7 @@ SaddlePoints :: {}.{ smallest_trees_north_south : Set(Position) smallest_trees_north_south = (0.. join_map( |column_index| { column : List({ height : U8, row_index : U64 }) diff --git a/exercises/practice/series/.meta/Example.roc b/exercises/practice/series/.meta/Example.roc index d373b38..7242d2e 100644 --- a/exercises/practice/series/.meta/Example.roc +++ b/exercises/practice/series/.meta/Example.roc @@ -9,6 +9,7 @@ Series :: {}.{ maybe_list = ( (0..=(len - slice_length)) + .iter() |> List.from_iter ).map_try( |start_index| { diff --git a/exercises/practice/sieve/.meta/Example.roc b/exercises/practice/sieve/.meta/Example.roc index afb7634..8ef1c10 100644 --- a/exercises/practice/sieve/.meta/Example.roc +++ b/exercises/practice/sieve/.meta/Example.roc @@ -11,7 +11,7 @@ Sieve :: {}.{ help_sieve(rest, found_primes) } [prime, .. as rest] => { - ((prime * 2)..=limit).step_by(prime) + ((prime * 2)..=limit).step_by(prime).iter() .fold( rest, |filtered_candidates, multiple_of_prime| { @@ -28,7 +28,7 @@ Sieve :: {}.{ } } - initial_candidates = List.from_iter(2..=limit) + initial_candidates = List.from_iter((2..=limit).iter()) help_sieve(initial_candidates, []) } } diff --git a/exercises/practice/spiral-matrix/.meta/Example.roc b/exercises/practice/spiral-matrix/.meta/Example.roc index f3f1059..6b960ec 100644 --- a/exercises/practice/spiral-matrix/.meta/Example.roc +++ b/exercises/practice/spiral-matrix/.meta/Example.roc @@ -3,6 +3,7 @@ SpiralMatrix :: {}.{ spiral_matrix = |size| { zero_matrix = List.repeat(List.repeat(0, size), size) (1..=(size * size)) + .iter() .fold( { x: -1, y: 0, dx: 1, dy: 0, matrix: zero_matrix }, |state, index| { diff --git a/exercises/practice/sublist/.meta/Example.roc b/exercises/practice/sublist/.meta/Example.roc index 7809cac..9dd0cd2 100644 --- a/exercises/practice/sublist/.meta/Example.roc +++ b/exercises/practice/sublist/.meta/Example.roc @@ -27,6 +27,7 @@ Sublist :: {}.{ length_diff = list2.len() - list1.len() maybe_equal_index = (0..=length_diff) + .iter() .fold([], |acc, x| acc.append(x)) .find_first( |start| { diff --git a/exercises/practice/sum-of-multiples/.meta/Example.roc b/exercises/practice/sum-of-multiples/.meta/Example.roc index 3100918..a94c97e 100644 --- a/exercises/practice/sum-of-multiples/.meta/Example.roc +++ b/exercises/practice/sum-of-multiples/.meta/Example.roc @@ -4,7 +4,7 @@ SumOfMultiples :: {}.{ ( factors .keep_if(|factor| factor > 0) - |> join_map(|factor| (factor.. List.from_iter) + |> join_map(|factor| (factor.. List.from_iter) |> Set.from_list ).to_list() .sum() diff --git a/exercises/practice/transpose/.meta/Example.roc b/exercises/practice/transpose/.meta/Example.roc index fb92fe3..9bf06ab 100644 --- a/exercises/practice/transpose/.meta/Example.roc +++ b/exercises/practice/transpose/.meta/Example.roc @@ -8,6 +8,7 @@ Transpose :: {}.{ } max_width = chars.map(List.len).max() ?? 0 (0.. join_map( |column_index| { (0.. join_map( |row_index| { # for all possible directions: @@ -32,6 +34,7 @@ WordSearch :: {}.{ # for all possible lengths: ( (0.. List.from_iter ).fold_until( { found_words: [], chars: [] },