Source es una familia de sublenguajes de JavaScript , desarrollados para el libro de texto Structure and Interpretation of Computer Programs, JavaScript Edition (SICP JS). Los sublenguajes de JavaScript Source §1, Source §2, Source §3 y Source §4 están diseñados para ser lo suficientemente expresivos como para admitir todos los ejemplos del capítulo respectivo del libro de texto.
Propósito y principio de diseño
Durante el desarrollo de SICP JS, a partir de 2008, se hizo evidente que los sublenguajes de JavaScript diseñados específicamente contribuirían a la experiencia de aprendizaje. Inicialmente llamados "JediScript" e inspirados en el libro "JavaScript: The Good Parts" [2] de Douglas Crockford , los sublenguajes Source siguen los capítulos de SICP JS; cada lenguaje Source §x es un sublenguaje del siguiente lenguaje Source §(x+1). Siguiendo el enfoque minimalista de SICP JS, se espera que las implementaciones de Source eliminen cualquier característica del lenguaje JavaScript que no esté incluida en la especificación del lenguaje. [3]
Características
Source §1 es un sublenguaje muy pequeño y puramente funcional de JavaScript, diseñado para el Capítulo 1 de SICP JS. Source §2 agrega pares y una biblioteca de listas, siguiendo el tema de las estructuras de datos del Capítulo 2. Source §3 agrega construcciones con estado y Source §4 agrega soporte para la evaluación metacircular. El Capítulo 5 de SICP JS no requiere soporte de lenguaje más allá de Source §4. Todos los lenguajes de Source son recursivos de cola correctamente , como lo requiere el Capítulo 1 de SICP y como lo especifica ECMAScript 2015.
Academia Fuente
Dado que el navegador Safari es compatible con ECMAScript -2015, incluidas las llamadas finales adecuadas , puede servir como una implementación de todos los idiomas fuente, siempre que esté cargado el paquete SICP. [4] La Source Academy [5] es un entorno de programación basado en la web que implementa todos los idiomas fuente, independientemente de la compatibilidad del navegador con las llamadas finales adecuadas, y presenta varias herramientas para los lectores de SICP JS. La implementación del lenguaje en la Source Academy, js-slang, [6] también está disponible como un entorno independiente basado en Node.js.
Referencias
- ^ "Source Academy". NUS. 2020. Consultado el 25 de marzo de 2022 .
- ^ Douglas Crockford (2008). JavaScript: las partes buenas. O'Reilly. ISBN 9780596517748.
- ^ Anderson, Boyd; Henz, Martin; Low, Kok-Lim; Tan, Daryl (20 de octubre de 2021). "Reducción de JavaScript para CS1". Simposio internacional sobre SPLASH-E . Actas del Simposio internacional ACM SIGPLAN de 2021 sobre SPLASH-E (SPLASH-E 2021). Nueva York, NY: ACM SIGPLAN. págs. 65–70. doi : 10.1145/3484272.3484970 .
- ^ "paquete npm sicp". Fuente Academy. 2021. Consultado el 25 de marzo de 2022 .
- ^ "Source Academy". NUS. 2020. Consultado el 25 de marzo de 2022 .
- ^ "js-slang en github". NUS. 2020. Consultado el 25 de marzo de 2022 .
Enlaces externos
- «Fuente (sitio web oficial)». 31 de diciembre de 2021. Consultado el 25 de marzo de 2022 .