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