fix unexpected error in length/2 (#1303)
This commit is contained in:
@@ -54,7 +54,7 @@ length(Xs0, N) :-
|
|||||||
'$skip_max_list'(M, N, Xs0,Xs),
|
'$skip_max_list'(M, N, Xs0,Xs),
|
||||||
!,
|
!,
|
||||||
( Xs == [] -> N = M
|
( 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)
|
; nonvar(N) -> R is N-M, length_rundown(Xs, R)
|
||||||
; N == Xs -> throw(error(resource_error(finite_memory),length/2))
|
; N == Xs -> throw(error(resource_error(finite_memory),length/2))
|
||||||
; length_addendum(Xs, N, M)
|
; length_addendum(Xs, N, M)
|
||||||
|
|||||||
Reference in New Issue
Block a user