diff --git a/README.md b/README.md index 31d9300..27dccb2 100644 --- a/README.md +++ b/README.md @@ -50,7 +50,7 @@ julia> prewalk(x -> @show(x) isa Integer ? StructWalk.LeafNode(x // 2) : x isa T x = (3, 5) x = 4 x = 6 -2 => 3 +2//1 => 3//1 ``` diff --git a/src/StructWalk.jl b/src/StructWalk.jl index 6f10383..7e99aba 100644 --- a/src/StructWalk.jl +++ b/src/StructWalk.jl @@ -138,18 +138,14 @@ julia> prewalk(x -> @show(x) isa Integer ? StructWalk.LeafNode(x // 2) : x isa T x = (3, 5) x = 4 x = 6 -2 => 3 +2//1 => 3//1 ``` See also: [`postwalk`](@ref), [`LeafNode`](@ref) """ prewalk(f, x) = prewalk(f, WalkStyle, x) -function prewalk(f, style, x) - y = f(x) - y == x && return x - return walk(identity, style, y, x -> prewalk(f, style, x)) -end +prewalk(f, style, x) = walk(identity, style, f(x), x -> prewalk(f, style, x)) @specialize