Portada de Compiling with Continuations

Compiling with Continuations

por Andrew W. Appel · 1991

Ver sugerencias

Sinopsis

Este libro explora el concepto de continuaciones y su aplicación en la compilación de lenguajes de programación, ofreciendo un enfoque detallado sobre cómo las continuaciones afectan la ejecución y optimización del código.

Libros similares

Libros relacionados según distintos criterios de búsqueda

Structure and Interpretation of Computer Programs

Harold Abelson, Gerald Jay Sussman, Julie Sussman

1985·divulgacion

Aunque no se centra directamente en compiladores o continuaciones, este libro aborda los fundamentos de cómo se estructuran y ejecutan los programas. Las continuaciones son una forma avanzada de control de flujo que requiere una comprensión profunda de cómo los programas interpretan y manipulan su propio estado, un tema central en 'Structure and Interpretation'.

Mientras 'Compiling with Continuations' se sumerge en una técnica de compilación específica y avanzada, 'The Art of Computer Programming' ofrece una perspectiva fundamentalista sobre la computación. Comprender la teoría de Knuth sobre los algoritmos y la eficiencia es esencial para apreciar por qué técnicas como las continuaciones son tan poderosas y cómo optimizan el rendimiento en un compilador.

Reflections on Trusting Trust

Ken Thompson

1984·ensayo

Este ensayo, aunque breve, explora profundamente la naturaleza recursiva y autorreferencial de la construcción de software, especialmente compiladores. 'Compiling with Continuations' trata sobre el control de flujo y la representación del estado, y 'Reflections on Trusting Trust' lleva esto al extremo filosófico, mostrando cómo el propio proceso de compilación puede auto-modificarse de maneras profundas e impredecibles, lo que resuena con la complejidad de manejar continuaciones que permiten saltos y manipulaciones del contexto de ejecución.

Gödel, Escher, Bach: Un Eterno y Gran Bucle

Douglas Hofstadter

1979·ensayo

El libro de Appel aborda las continuaciones, un mecanismo fundamental para manipular el control de flujo y el estado del programa. 'Gödel, Escher, Bach' explora la autorreferencia, los bucles recursivos y la emergencia de significado de sistemas complejos. La conceptualización de las continuaciones como 'objetos de primera clase' que capturan el estado de ejecución y permiten 'saltos' no locales tiene una profunda conexión filosófica con los conceptos de recursión y autorreferencia que Hofstadter desentraña, ambos lidiando con la 'estructura profunda' que subyace a los sistemas formales.

Lenguajes de programación: paradigmas y conceptos

Manuel Palomo Duarte, Antonio González Pérez

2004·divulgacion

Aunque es un libro más generalista sobre lenguajes de programación, ofrece una perspectiva desde la academia española. Su cobertura de la semántica operacional y los modelos de ejecución puede proporcionar un contexto alternativo y menos anglosajón para apreciar la complejidad y el ingenio detrás de la implementación de características de control de flujo avanzadas como las continuaciones, de las que 'Compiling with Continuations' es un ejemplo magistral.

Si bien el libro de Appel es una referencia técnica fundamental desde el mundo angloparlante, este texto de un autor latinoamericano ofrece una introducción a Scheme, un lenguaje donde las continuaciones son un concepto de primera clase. Proporciona un marco didáctico sobre cómo se usan y entienden las continuaciones en un contexto donde son nativas, complementando el enfoque de compilación más técnico de Appel, y desde una perspectiva menos común en la bibliografía predominante.

Design Concepts in Programming Languages

Franklyn Turbak, David Gifford, Tony Garnock-Jones

2008·divulgacion

El libro de Appel es famoso por su uso de continuaciones como una herramienta fundamental para la compilación de características de control de flujo. 'Design Concepts' comparte una estrategia estructural similar al emplear un formalismo riguroso (esquemas de evaluación al estilo Scheme) para describir la semántica de diversas características de los lenguajes. Ambos libros demuestran cómo la elección de un marco formal subyacente puede simplificar y unificar la comprensión de implementaciones complejas, usando las continuaciones no solo como tema, sino como lente metodológica.

Essentials of Programming Languages

Daniel P. Friedman, Mitchell Wand, Christopher T. Haynes

1992·divulgacion

Ambos libros tienen una estructura pedagógica y metodológica que prioriza la construcción y la comprensión profunda a través de la implementación. Si bien 'Compiling with Continuations' se enfoca en una técnica específica del compilador de Scheme, 'Essentials of Programming Languages' adopta un 'approach by example' similar, guiando al lector a través de la construcción incremental de lenguajes. Ambos usan Scheme como base para explorar conceptos de lenguajes y compiladores, usando el propio lenguaje como meta-lenguaje para describir su funcionamiento interno, lo cual es una similitud estructural clave.

Ayúdame a que yoleo sea sostenible