2011-06-13 17 views

Respuesta

5

Si he entendido bien, que desea una función print-function tal que después de

(define (foo x) (cons x x)) 

se comportará como

> (print-function foo) 
(lambda (x) (cons x x)) 

Esquema estándar no tiene una facilidad para eso. El motivo es que las implementaciones de Scheme pueden, y generalmente lo hacen, compilar funciones en una representación diferente (bytecode, código de máquina).

Algunos esquemas pueden mantener la definición de la función; verifique su manual de implementación.

+0

Las versiones de Guile anteriores a 2.0 tenían 'procedure-source'. Desde Guile 2.0, sin embargo, nunca he logrado que 'procedure-source' funcione más. Pero sí, es muy específico de la implementación, y la mayoría de las implementaciones no ofrecen tal cosa. –

+0

Estoy usando Gambit-C. ¿Sabes sobre esto en la implementación? – Eonil

+0

Sin experiencia con Gambit, lo siento. –

Cuestiones relacionadas