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)