Skip to content

Commit 8d18d9d

Browse files
committed
Fix length for BasicSymbolic
1 parent 8870978 commit 8d18d9d

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

src/utils.jl

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,12 @@ Base.length(l::LL) = length(l.v)-l.i+1
183183
@inline car(l::LL) = l.v[l.i]
184184
@inline cdr(l::LL) = isempty(l) ? empty(l) : LL(l.v, l.i+1)
185185

186-
Base.length(t::BasicSymbolic) = length(arguments(t)) + 1 # PIRACY
186+
function Base.length(t::BasicSymbolic)
187+
@match t.impl begin
188+
Term(_...) => length(arguments(t)) + 1 # PIRACY
189+
_ => 1
190+
end
191+
end
187192
Base.isempty(t::BasicSymbolic) = false
188193
@inline car(t::BasicSymbolic) = operation(t)
189194
@inline cdr(t::BasicSymbolic) = arguments(t)

0 commit comments

Comments
 (0)