fix unexpected error in length/2 (#1303)

This commit is contained in:
Mark Thom
2022-02-26 11:07:38 -07:00
parent 96faad1c01
commit d4d135f2a9

View File

@@ -54,7 +54,7 @@ length(Xs0, N) :-
'$skip_max_list'(M, N, Xs0,Xs),
!,
( Xs == [] -> N = M
; nonvar(Xs) -> var(N), throw(error(resource_error(finite_memory),length/2))
; nonvar(Xs) -> var(N), Xs = [_|_], throw(error(resource_error(finite_memory),length/2))
; nonvar(N) -> R is N-M, length_rundown(Xs, R)
; N == Xs -> throw(error(resource_error(finite_memory),length/2))
; length_addendum(Xs, N, M)