text: Q:
  
  Lisp grammar/formatting
  
  Trying my hand at Lisp. I wonder though, why does:
  (defun hello(x)
      (print x)
  )
  
  work fine, but:
  (defun hello (x)
      (print(x)) ; Fails with EVAL: undefined function X.
  )
  
  not?
  
  A:
  
  In LISPs, non-empty, unquoted lists are considered (function, macro, or special form) calls.
  So,
  (print x)
  
  is a function call to print with an argument x.
  But,
  (print (x))
  
  is a function call to print with an argument equal to the value of (x). But since (x) is also non-empty list, in order to get the value of (x) there is an attempt to make a call to a non-existent function x with no arguments.
  
  