Разработчики) | Ллевеллин Причард [1] |
---|---|
Стабильный выпуск | 1.0.180 / 19 сентября 2019 г . |
Предварительный выпуск | 1.0.239 / 27 декабря 2019 г . |
Репозиторий | |
Операционная система | Microsoft Windows , macOS , Linux |
Платформа | .NET Framework , Mono |
Тип | Язык программирования |
Лицензия | Г-жа-ПЛ [2] |
Веб-сайт | github |
IronScheme - это реализация языка программирования Scheme, ориентированная на Microsoft .NET Framework . IronScheme - это полностью переработанный IronLisp , в котором учтены уроки, извлеченные при разработке IronLisp. [3]
IronScheme планировал использовать Microsoft Dynamic Language Runtime , но решил отказаться от этой идеи, потому что ветвь DLR, которую использовал проект, рассинхронизировалась с магистралью , а также потому, что DLR, по словам разработчиков, не мог поддерживать большую часть Требования Схемы. [4] IronScheme в конечном итоге ограниченно использовал собственную версию DLR от Microsoft, но ей пришлось исправить ее, чтобы иметь возможность реализовать некоторые необходимые функции Scheme, такие как исключение хвостовых вызовов . [5] [6]
См. Также [ править ]
Ссылки [ править ]
- ^ Триумвират .NET: IronScheme, IronLisp и Xacc
- ^ IronScheme приближается к финальной версии
- ^ «IronScheme будет стремиться быть реализацией схемы, соответствующей R6RS, на основе Microsoft DLR» . Проверено 21 марта 2009 .
- ^ "Есть ли какой-нибудь образец Silverlight?" . 2009-05-11 . Проверено 26 июля 2009 .
К сожалению, моя ветка DLR очень не синхронизирована с веткой Silverlight.
Я просто подумал, возможно мне ДЛР не надо, разберусь.
Проблема в том, что DLR как есть, недостаточно хорош для поддержки большинства требований схемы.
- ^ "Интеграция .NET с текущей средой выполнения?" . 2010-01-05 . Проверено 29 августа 2011 .
Чтобы заставить IronScheme использовать текущий DLR, я бы потерял [
sic
] довольно много языковых требований и важных функций, а именно хвостовых вызовов и генерации записей во время выполнения. Оба они не поддерживаются (и, вероятно, никогда не будут) поддерживаться DLR из-за требований совместимости с Silverlight. В настоящее время IronScheme не хватает только проверяемых продолжений, чтобы соответствовать 100% RnRS. Можно было бы заставить IronScheme использовать текущий DLR, но тогда это больше не будет Scheme, поскольку хвостовые вызовы чрезвычайно важны (и необходимы).
- ^ "Планируете обновить DLR до текущей версии?" . 2008-05-14 . Проверено 29 августа 2011 .
На данный момент я использую только около 15% DLR, и я хотел бы со временем избавиться от него.
Путь, который они выбрали для динамического выполнения Python, слишком медленный, и в нем отсутствуют функции, которые раньше присутствовали в DLR (новые «динамические» функции делают компиляцию в сборку невозможной).
Есть и другие функции, которые мне пришлось встроить, такие как хвостовые вызовы и прямые вызовы методов, что также невозможно в последней версии DLR.