es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tag: LISP-MACROS

¿Cómo puedo ver las macros expandidas en racket?

Obtuve esta respuesta en https://stackoverflow.com/a/70318991 sobre cómo escribir una macro simple que registra la hora en el momento de la expansión de la macro y luego siempre devuelve esa hora. <h1>lang racket</h1> (para-sintaxis (define la-hora (current-seconds))) (define-syntax (macro-expansion-seconds stx) (datum->sintaxis stx la-hora)) (macro-expansion-seconds) (macro-expansion-seconds) (macro-expansion-seconds) Funciona muy bien, pero ahora, . . . Read more

Buscando un ejemplo muy sencillo de una macro en Racket.

Hice esto: <h1>lang racket</h1> <p>(define-syntax-rule (macro-expansion-seconds) (current-seconds)) que hace esto > (macro-expansion-seconds) 1639244531 > (macro-expansion-seconds) 1639244532 > (macro-expansion-seconds) 1639244533 Reemplaza (macro-expansion-seconds) con (current-seconds) en el momento de la expansión, y evalúa esa forma cada vez. Pero, ¿cómo hago que evalúe (current-seconds) en el momento de la expansión y luego haga . . . Read more