The Free On-line Dictionary of Computing (30 December 2018):
call-by-name
CBN
    (CBN) (Normal order reduction, leftmost, outermost
   reduction).  An argument passing convention (first provided
   by ALGOL 60?)  where argument expressions are passed
   unevaluated.  This is usually implemented by passing a pointer
   to a thunk - some code which will return the value of the
   argument and an environment giving the values of its free
   variables.
   This evaluation strategy is guaranteed to reach a normal
   form if one exists.
   When used to implement functional programming languages,
   call-by-name is usually combined with graph reduction to
   avoid repeated evaluation of the same expression.  This is
   then known as call-by-need.
   The opposite of call-by-name is call-by-value where
   arguments are evaluated before they are passed to a function.
   This is more efficient but is less likely to terminate in the
   presence of infinite data structures and recursive
   functions.
   Arguments to macros are usually passed using call-by-name.
   (2006-05-27)