Your reverseCurrentList
rule is missing a base clause, so it never succeeds. The recursive invocation continues taking items from the list until the list is empty, at which point [H|T]
no longer unifies, so the rule fails.
Add this second clause to your program:
reverseCurrentList([], []).