Парадигма | Мультипарадигма : скриптинг, императивный, процедурный, функциональный |
---|---|
Впервые появился | 2017 г.; 3 года назад (2017) |
Стабильный выпуск | 2021 (Knight) / 17 июля 2020 года; 3 месяца назад (2020-07-17) |
Дисциплина набора текста | Динамический, утка |
OS | на основе браузера |
Лицензия | Лицензия Apache |
Расширения имен файлов | .js |
Веб-сайт | source-academy.github.io / source / |
Основные реализации | |
Safari (JavaScript в Safari правильно хвостовой рекурсивный ), Source Academy | |
Диалекты | |
Source §1, Source §2, Source §3, Source §4 | |
Под влиянием | |
JavaScript, Схема |
Источник - это семейство подъязыков JavaScript, разработанное для учебника Структура и интерпретация компьютерных программ, Адаптация JavaScript (SICP JS). Подъязыки JavaScript Source §1, Source §2, Source §3 и Source §4 разработаны, чтобы быть достаточно мощными, чтобы поддерживать все примеры из соответствующей главы учебника.
При разработке SICP JS, начиная с 2008 года, стало ясно, что специально разработанные подъязыки JavaScript будут способствовать процессу обучения. Первоначально названный «JediScript» и вдохновленный JavaScript: The Good Parts., Дуглас Крокфорд, подъязыки Source следуют за главами SICP JS; Каждый язык Source §x является подъязыком следующего языка Source § (x + 1).
Source §1 - это очень маленький чисто функциональный подъязык JavaScript, разработанный для главы 1 SICP JS. Source §2 добавляет пары и библиотеку списков, следуя теме структур данных главы 2. Source §3 добавляет конструкции с полным состоянием, а Source §4 добавляет поддержку метациклического вычисления. Глава 5 SICP JS не требует языковой поддержки, кроме Source §4. Все исходные языки правильно рекурсивны, как требуется в главе 1 из SICP и как указано в ECMAScript 2016.
Поскольку браузер Safari соответствует ECMAScript 2016, включая соответствующие хвостовые вызовы, он может служить реализация всех исходных языков при условии, что загружены необходимые библиотеки. Source Academy - это веб-среда программирования, которая реализует все исходные языки, независимо от поддержки браузером правильных хвостовых вызовов, и предлагает различные инструменты для читателей SICP JS. Реализация языка в Source Academy является проектом с открытым исходным кодом.