Utilizzando MIT-Scheme 9.x, esiste un modo per utilizzare il debugger o qualche altro strumento per ispezionare una procedura composta anonima (creata restituendo una funzione lambda), ad es. per scoprire esattamente quale codice a quale linea proviene?Con MIT-Scheme, c'è un modo per ispezionare un oggetto con procedura composta?
Per esempio, attualmente sto facendo qualcosa di simile:
(foo 2 3)
E vedo un messaggio di errore del tipo:
;The procedure #[compound-procedure 65] has been called with 2 arguments; it requires exactly 0 arguments.
... dove foo sta facendo qualche ulteriore invio (foo è non il problema qui, si trova più in profondità). In questo esempio, vorrei davvero conoscere l'interno di # [compound-procedure 65] poiché ovviamente non è quello che mi aspettavo. Un mago Lisp/Scheme là fuori conosce un modo per ottenere quei dettagli? Grazie.
Sì, questo aiuta molto - esattamente ciò che era necessario! – limist
Ancora più corto: (pp # @ 42), dove 42 è il numero della procedura. – limist