
ACL2 !>(app nil '(x y z))
(X Y Z)
ACL2 !>(app '(1 2 3) '(4 5 6 7))
(1 2 3 4 5 6 7)
ACL2 !>(app '(a b c d e f g) '(x y z)) ; click here for an explanation
(A B C D E F G X Y Z)
ACL2 !>(app (app '(1 2) '(3 4)) '(5 6))
(1 2 3 4 5 6)
ACL2 !>(app '(1 2) (app '(3 4) '(5 6)))
(1 2 3 4 5 6)
ACL2!>(let ((a '(1 2))
(b '(3 4))
(c '(5 6)))
(equal (app (app a b) c)
(app a (app b c))))
T

As we can see from these examples, ACL2 functions can be executed more or less as Common Lisp.
The last three examples suggest an interesting property of app.