Икарус (реализация схемы) - Википедия - Ikarus (Scheme implementation)
Парадигмы | Мультипарадигма: функциональный, императив, мета |
---|---|
Семья | Лисп |
Разработано | Абдулазиз Гулум |
Разработчик | Абдулазиз Гулум |
Впервые появился | 31 октября 2007 г. |
Окончательный релиз | 0.0.3 / 2 февраля 2008 г. |
Предварительный выпуск | 0.0.3 / 2 февраля 2008 г. |
Печатная дисциплина | Динамический, скрытый, сильный |
Объем | Лексический |
Язык реализации | Схема, C |
Платформа | IA-32 |
Операционные системы | Кроссплатформенность: macOS, Linux, FreeBSD, NetBSD, Windows XP |
Лицензия | GPL |
Интернет сайт | ikarus-схема |
Под влиянием | |
Лисп, Схема |
Схема Икара это бесплатно программное обеспечение оптимизация инкрементный компилятор за R6RS Схема который компилируется непосредственно в x86 IA-32 архитектура. Ikarus - первая публичная реализация значительной части стандарта R6RS Scheme.[1] Версия 0.0.3 содержит 94% всех форм и процедур R6RS.[2]Разработка остановилась в 2008 году.
Дизайн
В компилятор Разработчик, Абдулазиз Гулум, был доктором философии. студент на Университет Индианы под Р. Кент Дибвиг, разработчик Chez Scheme, который повлиял на разработку Ikarus.
Некоторые идеи, лежащие в основе дизайна Ikarus Scheme, подробно описаны разработчиком в «Пошаговом подходе к построению компилятора».[3] Икарус самостоятельный хостинг при этом большая часть компилятора и примитивов написана на Scheme, и только несколько частей система времени выполнения написано в C. Кроме того, вместо использования внешнего промежуточный язык как C, LLVM, или же C--, он компилируется прямо в Машинный код чтобы лучше использовать базовую архитектуру машины.
Икарус использует переносимая библиотека R6RS и система синтаксических регистров который также разработан Абдулазизом Гулумом и описан в статье «Неявное поэтапное распределение для библиотек R6RS».[4] Наконец, в статье «Хеш-таблицы, удобные для генерации» рассматривается реализация хеш-таблицы в Ikarus.[5]
Системные Требования
Ikarus работает на x86, но требует SSE2 поддержка для обработки арифметика с плавающей запятой (FP) вычисления, поэтому он не будет производить код для Intel фишки раньше, чем Pentium 4 или для Продвинутые Микроустройства (AMD) чипы раньше Athlon 64.Release 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
Рекомендации
- ^ Гулум, Абдулазиз (31 октября 2007 г.). «Первый выпуск Ikarus - компилятор, предпочитаемый хакерами R6RS». Группа новостей: comp.lang.scheme. Usenet: [email protected]. Получено 2007-11-28.
- ^ Гулум, Абдулазиз (02 февраля 2008 г.). "Схема Икара: История". Схема Икара. Получено 2019-04-04.
- ^ Гулум, Абдулазиз (17 сентября 2006 г.). «Поэтапный подход к построению компилятора» (PDF). Схема и функциональное программирование, 2006 г.. Портланд, штат Орегон. стр. 27–37. Получено 2007-11-28.
- ^ Гулум, Абдулазиз; Дибвиг, Р. Кент (2007). «Неявная фазировка для библиотек R6RS». Proc. Международной конференции по функциональному программированию ACM SIGPLAN 2007. Фрайбург, Германия. стр. 303–314. Получено 2007-12-01.
- ^ Гулум, Абдулазиз; Дибвиг, Р. Кент (30 сентября 2007 г.). «Хеш-таблицы Eq, удобные для поколения» (PDF). Proc. семинара 2007 года по схемному и функциональному программированию. Фрайбург, Германия. стр. 27–36. Получено 2007-12-01.
внешняя ссылка
Схема Икара
- Официальный веб-сайт
- Сайт разработки Ikarus Scheme
- Библиотека R6RS и домашняя страница системы syntax-case
- Сайт разработки библиотеки R6RS и синтаксической системы
- Руководство пользователя схемы Ikarus
- Стандарт R6RS
Контрольные точки
- ранее поддерживался Игра "Тесты компьютерного языка": запись для Ikarus Scheme (Intel Pentium 4)
- Тесты, сравнивающие Ikarus с другими реализациями схемы R5RS (Эти результаты относятся к 0.0.2 и не обновлялись для 0.0.3.)
- Тесты, сравнивающие Ikarus с другими реализациями схемы R6RS (Эти результаты относятся к 0.0.2 и не обновлялись для 0.0.3.)