dispatching simplim%function



Shouldn't limit dispatch the simplim%function earlier? Consider

 (%i8) :lisp(trace simplim%bessel_j)
 (SIMPLIM%BESSEL_J)

These cases do not dispatch the simplim%function (what mechanism decides that bessel_j is continuous?)

 (%i8) limit(bessel_j(0,x),x,a);
 (%o8) bessel_j(0,a)

 (%i9) limit(bessel_j(0,x),x,0);
 (%o9) 1

 (%i10) limit(bessel_j(a,x),x,0);
 (%o10) bessel_j(a,0)

 (%i11) limit('(bessel_j(a,x)),x,a);
 (%o11) bessel_j(a,a)

Finally, limit dispatches simplim%bessel_j

 (%i12) limit(bessel_j(a,x),x,inf);
  1> (SIMPLIM%BESSEL_J ((%BESSEL_J SIMP) $A $X) $X $INF)
  <1 (SIMPLIM%BESSEL_J 0)
 (%o12) 0

How can I prevent the limit from assuming continuity and call the simplim%function?

--Barton (who was trying to get limits to work for the generalized Lambert function)