Skip to content

Commit

Permalink
Merge pull request #21 from Herb-AI/add-abstract-uniform-hole
Browse files Browse the repository at this point in the history
Add `AbstractUniformHole`
  • Loading branch information
ReubenJ authored Apr 15, 2024
2 parents 8884025 + c6e331f commit 07c52f0
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion src/rulenode.jl
Original file line number Diff line number Diff line change
Expand Up @@ -45,13 +45,21 @@ The `domain` is a bitvector, where the `i`th bit is set to true if the `i`th rul
"""
abstract type AbstractHole <: AbstractRuleNode end

"""
Hole <: AbstractHole
An [`AbstractUniformHole`](@ref) is a placeholder where certain rules from the grammar can still be applied,
but all rules in the domain are required to have the same childtypes.
"""
abstract type AbstractUniformHole <: AbstractHole end

"""
UniformHole <: AbstractHole
- `domain`: A bitvector, where the `i`th bit is set to true if the `i`th rule in the grammar can be applied. All rules in the domain are required to have the same childtypes.
- `children`: The children of this hole in the expression tree.
"""
mutable struct UniformHole <: AbstractHole
mutable struct UniformHole <: AbstractUniformHole
domain::BitVector
children::Vector{AbstractRuleNode}
end
Expand Down

0 comments on commit 07c52f0

Please sign in to comment.