# Reverse/2 why related to a reverse/4 in spite of a reverse/3?

**URL:** <https://swi-prolog.discourse.group/t/reverse-2-why-related-to-a-reverse-4-in-spite-of-a-reverse-3/4085>\
**Category:** Predicate\
**Created:** [June 17, 2021, 5:47am UTC](https://swi-prolog.discourse.group/t/reverse-2-why-related-to-a-reverse-4-in-spite-of-a-reverse-3/4085 "2021-06-17T05:47:28Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![jan](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/jan/32/4_2.png) [@jan](https://swi-prolog.discourse.group/u/jan)\
**Post date:** [June 17, 2021, 6:30am UTC](https://swi-prolog.discourse.group/t/reverse-2-why-related-to-a-reverse-4-in-spite-of-a-reverse-3/4085/2 "2021-06-17T06:30:21Z")

</div>

Using lpn:

```prolog
accRev([H|T],A,R):- accRev(T,[H|A],R).
accRev([],A,A).

rev(L,R):- accRev(L,[],R).

```

```prolog
?- rev(X, [a,b]).
ERROR: Stack limit (1.0Gb) exceeded
ERROR: Stack sizes: local: 0.7Gb, global: 0.2Gb, trail: 34.1Mb

```

While

```prolog
?- reverse(X, [a,b]).
X = [b, a] ;
false.

```

🙂

---

_[View the full topic](https://swi-prolog.discourse.group/t/reverse-2-why-related-to-a-reverse-4-in-spite-of-a-reverse-3/4085)._
