Usando MIT-Scheme 9.x, ¿hay alguna manera de utilizar el depurador o alguna otra herramienta para inspeccionar un procedimiento compuesto anónimo (creado al devolver una función lambda), p. para averiguar exactamente qué código y de qué línea proviene?Con MIT-Scheme, ¿hay alguna manera de inspeccionar un objeto de procedimiento compuesto?
Por ejemplo, actualmente estoy haciendo algo como:
(foo 2 3)
Y veo un mensaje de error como:
;The procedure #[compound-procedure 65] has been called with 2 arguments; it requires exactly 0 arguments.
... donde foo está haciendo un envío adicional (foo es no es el problema aquí, es más profundo). En este ejemplo, realmente me gustaría saber las partes internas de # [compuesto-procedimiento 65], ya que obviamente no es lo que esperaba. ¿Un asistente de Lisp/Scheme conoce una forma de obtener esos detalles? Gracias.
Sí, esto ayuda mucho, ¡exactamente lo que se necesitaba! – limist
Aún más corto: (pp # @ 42), donde 42 es el número de procedimiento. – limist