Из Википедии, свободной энциклопедии
Перейти к навигации Перейти к поиску

IronScheme - это реализация языка программирования Scheme, ориентированная на Microsoft .NET Framework . IronScheme - это полностью переработанный IronLisp , в котором учтены уроки, извлеченные при разработке IronLisp. [3]

IronScheme планировал использовать Microsoft Dynamic Language Runtime , но решил отказаться от этой идеи, потому что ветвь DLR, которую использовал проект, рассинхронизировалась с магистралью , а также потому, что DLR, по словам разработчиков, не мог поддерживать большую часть Требования Схемы. [4] IronScheme в конечном итоге ограниченно использовал собственную версию DLR от Microsoft, но ей пришлось исправить ее, чтобы иметь возможность реализовать некоторые необходимые функции Scheme, такие как исключение хвостовых вызовов . [5] [6]

См. Также [ править ]

Ссылки [ править ]

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

Внешние ссылки [ править ]