Me gusta LaTeX
, pero encuentro que su sistema macro y su lógica son complejos y débiles. lenguajes como Schem / Lisp / Clojure son muy buenos en macros. Me imagino todo el documento escrito en un lenguaje familiar lisp, que, cuando se ejecuta, emitiría código LaTeX y produciría un documento. ¿Se ha hecho esto antes? Cualquier enlace?
9
*
sufijo. Lisp tienelet
ylet*
así sucesivamente, LaTeX tiene\section
y\section*
.Respuestas:
Racket hace exactamente eso en Scribble , su sistema de documentación. Ahora hay miles de páginas de documentación escritas en este sistema, y está muy vivo. Observe específicamente la sintaxis que se utiliza, lo que hace que muchos de estos comandos híbridos a través de escupir texto sean muy convenientes .
Sin embargo, tenga en cuenta que, si bien las macros se usan como de costumbre en cualquier código Lisp / Scheme, no son un punto central de esto. Las funciones están bien para la mayoría de las cosas: simplemente consumen texto y producen texto. LaTeX (o más generalmente TeX) ha elegido un tipo de estrategia de evaluación basada en macro de bajo nivel que se adapta a algunos casos.
fuente