@@ -32,7 +32,7 @@ fn do_cached(key: String, f: fn() -> Cache(Int)) -> Cache(Int) {
32
32
}
33
33
}
34
34
35
- fn is_valid ( design : String , patterns : List ( String ) ) -> Cache ( Int ) {
35
+ fn valid_combos ( design : String , patterns : List ( String ) ) -> Cache ( Int ) {
36
36
do_cached ( design , fn ( ) {
37
37
case string . is_empty ( design ) {
38
38
True -> state . return ( 1 )
@@ -42,7 +42,7 @@ fn is_valid(design: String, patterns: List(String)) -> Cache(Int) {
42
42
use res <- state . do ( case string . starts_with ( design , pattern ) {
43
43
False -> state . return ( 0 )
44
44
True ->
45
- is_valid (
45
+ valid_combos (
46
46
string . drop_start ( design , string . length ( pattern ) ) ,
47
47
patterns ,
48
48
)
@@ -61,7 +61,7 @@ pub fn part1(input: String) -> Int {
61
61
designs
62
62
|> list . fold ( state . return ( 0 ) , fn ( sacc , design ) {
63
63
use acc <- state . do ( sacc )
64
- use res <- state . do ( is_valid ( design , patterns ) )
64
+ use res <- state . do ( valid_combos ( design , patterns ) )
65
65
state . return ( case res > 0 {
66
66
True -> acc + 1
67
67
False -> acc
@@ -76,7 +76,7 @@ pub fn part2(input: String) -> Int {
76
76
designs
77
77
|> list . fold ( state . return ( 0 ) , fn ( sacc , design ) {
78
78
use acc <- state . do ( sacc )
79
- use res <- state . do ( is_valid ( design , patterns ) )
79
+ use res <- state . do ( valid_combos ( design , patterns ) )
80
80
state . return ( acc + res )
81
81
} )
82
82
|> state . eval ( dict . new ( ) )
0 commit comments