Икарус (реализация схемы) - Википедия - Ikarus (Scheme implementation)

Схема Икара
Ikarus Scheme Logo.png
Логотип Ikarus Scheme с изображением мифического персонажа Икар пролетая через солнце.
ПарадигмыМультипарадигма: функциональный, императив, мета
СемьяЛисп
РазработаноАбдулазиз Гулум
РазработчикАбдулазиз Гулум
Впервые появился31 октября 2007 г.; 13 лет назад (2007-10-31)
Окончательный релиз
0.0.3 / 2 февраля 2008 г.; 12 лет назад (2008-02-02)
Предварительный выпуск
0.0.3 / 2 февраля 2008 г.; 12 лет назад (2008-02-02)
Печатная дисциплинаДинамический, скрытый, сильный
ОбъемЛексический
Язык реализацииСхема, C
ПлатформаIA-32
Операционные системыКроссплатформенность: macOS, Linux, FreeBSD, NetBSD, Windows XP
ЛицензияGPL
Интернет сайтikarus-схема.org
Под влиянием
Лисп, Схема

Схема Икара это бесплатно программное обеспечение оптимизация инкрементный компилятор за 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

Рекомендации

  1. ^ Гулум, Абдулазиз (31 октября 2007 г.). «Первый выпуск Ikarus - компилятор, предпочитаемый хакерами R6RS». Группа новостейcomp.lang.scheme. Usenet:  [email protected]. Получено 2007-11-28.
  2. ^ Гулум, Абдулазиз (02 февраля 2008 г.). "Схема Икара: История". Схема Икара. Получено 2019-04-04.
  3. ^ Гулум, Абдулазиз (17 сентября 2006 г.). «Поэтапный подход к построению компилятора» (PDF). Схема и функциональное программирование, 2006 г.. Портланд, штат Орегон. стр. 27–37. Получено 2007-11-28.
  4. ^ Гулум, Абдулазиз; Дибвиг, Р. Кент (2007). «Неявная фазировка для библиотек R6RS». Proc. Международной конференции по функциональному программированию ACM SIGPLAN 2007. Фрайбург, Германия. стр. 303–314. Получено 2007-12-01.
  5. ^ Гулум, Абдулазиз; Дибвиг, Р. Кент (30 сентября 2007 г.). «Хеш-таблицы Eq, удобные для поколения» (PDF). Proc. семинара 2007 года по схемному и функциональному программированию. Фрайбург, Германия. стр. 27–36. Получено 2007-12-01.

внешняя ссылка

Схема Икара

Контрольные точки

Отзывы