The definition of this Prolog library predicate is:
reverse(List, Rev) :- reverse(List, Rev, []). reverse([], L, L). reverse([H|T], L, SoFar) :- reverse(T, L, [H|SoFar]).The following should be noted:
1. This predicate does not perform any type testing functions.
2. This predicate is not protected by ECLiPSe and may be redefined without generating a warning message.
Success: [eclipse]: reverse([1,2,3,4,5], X). X = [5, 4, 3, 2, 1] yes.