Subject: Re: [Q]: Recursion help
From: Erik Naggum <erik@naggum.no>
Date: 2000/01/23
Newsgroups: comp.lang.lisp
Message-ID: <3157638303325956@naggum.no>

* Dirt <pip3@inam3.com>
| So, it is safe to recommend to my professor that we should be taught
| to use '=' to compare numbers rather than 'eq'?

  your professor should never teach EQ in the first place.  EQ should be
  discovered by good students on their own.  novices should always use EQL
  for typeless object comparison, and try not to think about EQ.

  = signals an error for non-numbers.  this is often a major pain.  EQL
  yields false if the objects are of different types.  this can sometimes
  be exactly what you want.  = yields true for _numeric_ equality, which
  can sometimes be very expensive to compute, but is often worth the cost,
  except when you control the types of both objects and you would have to
  be a real klutz to introduce that cost wantonly.  therefore, EQL will
  tell you about suboptimal programming practices if it yields false on two
  numbers that appear "alike", and this fact alone will teach most students
  better programming practices.

#:Erik