Икарус (Схема реализации)
Парадигмы | Мультипарадигмальность : функциональная , императивная , мета. |
---|---|
Семья | Лисп |
Разработано | Абдулазиз Гулум |
Разработчик | Абдулазиз Гулум |
Впервые появился | 31 октября 2007 г |
Финальный выпуск | 0.0.3 / 2 февраля 2008 г |
Предварительный выпуск | 0.0.3 / 2 февраля 2008 г |
Дисциплина набора текста | Динамичный , скрытый , сильный |
Объем | Лексический |
Язык реализации | Схема , С |
Платформа | ИА-32 |
ТЫ | Кроссплатформенность : macOS , Linux , FreeBSD , NetBSD , Windows XP. |
Лицензия | лицензия GPL |
Веб-сайт | Схема Икара |
Под влиянием | |
Лисп , Схема |
Ikarus Scheme — это бесплатное программное обеспечение, оптимизирующее инкрементный компилятор для R6RS схемы , который компилируется непосредственно в архитектуру x86 IA-32 . Ikarus — первая общедоступная реализация значительной части стандарта схемы R6RS. [1] Версия 0.0.3 содержит 94% всех форм и процедур R6RS. [2] Разработка остановилась в 2008 году.
Дизайн [ править ]
Разработчик компилятора Абдулазиз Гулум был доктором философии. студент Университета Индианы под руководством Р. Кента Дибвига , разработчика Chez Scheme , оказавшего влияние на развитие Икаруса.
Некоторые идеи, лежащие в основе конструкции Ikarus Scheme, подробно описаны разработчиком в «Поэтапном подходе к построению компилятора». [3] Ikarus является автономным большая часть компилятора и примитивов написана на Scheme, и лишь несколько частей системы времени выполнения написаны на C. , Кроме того, вместо использования внешнего промежуточного языка, такого как C, LLVM или C-- , он компилируется непосредственно в машинный код , чтобы лучше использовать базовую машинную архитектуру.
Ikarus использует переносимую библиотеку R6RS и систему синтаксических регистров , которая также разработана Абдулазизом Гулумом и описана в статье «Неявное фазирование для библиотек R6RS». [4] Наконец, в документе «Удобные для создания хеш-таблиц уравнений» рассматривается реализация хеш-таблицы в Ikarus. [5]
Системные требования [ править ]
(FP) требуется поддержка SSE2 Ikarus работает на платформе x86, но для обработки вычислений с плавающей запятой , поэтому он не будет создавать код для чипов Intel до Pentium 4 или для чипов Advanced Micro Devices (AMD) до Athlon 64 .Версия 0.0.3 протестирована и работает на:
- macOS , версии 10.4 и 10.5
- Линукс , 2.6.18; Debian, Fedora, Gentoo и Ubuntu
- FreeBSD , версия 6.2.
- NetBSD , версия 3.1.
- Windows XP с использованием Cygwin 1.5.24.
Ссылки [ править ]
- ^ Гулум, Абдулазиз (31 октября 2007 г.). «Первоначальная версия Ikarus – компилятора, который предпочитают хакеры R6RS» . Группа новостей : comp.lang.scheme . Usenet: [электронная почта защищена] . Проверено 28 ноября 2007 г.
- ^ Гулум, Абдулазиз (2 февраля 2008 г.). «Схема Икаруса: История» . Схема Икаруса . Проверено 4 апреля 2019 г.
- ^ Гулум, Абдулазиз (17 сентября 2006 г.). «Пошаговый подход к построению компилятора» (PDF) . Схема и функциональное программирование, 2006 . Портленд, Орегон. стр. 27–37 . Проверено 28 ноября 2007 г.
- ^ Гулум, Абдулазиз ; Дибвиг, Р. Кент (2007). «Неявная фазировка для библиотек R6RS» . Учеб. Международной конференции ACM SIGPLAN 2007 года по функциональному программированию . Фрайбург, Германия. стр. 303–314 . Проверено 1 декабря 2007 г.
- ^ Гулум, Абдулазиз ; Дибвиг, Р. Кент (30 сентября 2007 г.). «Удобные для создания хеш-таблицы уравнений» (PDF) . Учеб. семинара 2007 года по схемам и функциональному программированию . Фрайбург, Германия. стр. 27–36 . Проверено 1 декабря 2007 г.