stringtranslate.com

CMU Common Lisp

CMUCL — это бесплатная реализация Common Lisp , первоначально разработанная в Университете Карнеги-Меллон .

CMUCL работает на большинстве Unix-подобных платформ, включая Linux и BSD ; также существует экспериментальный порт для Windows . Steel Bank Common Lisp является производным от CMUCL. Scieneer Common Lisp был коммерческой производной от CMUCL.

История

Самая ранняя реализация предшествовала Common Lisp и была частью Spice Lisp , примерно в 1980 году. В 1985 году Роб Маклахлан начал переписывать компилятор так, чтобы он стал компилятором Python, а CMUCL был портирован на рабочие станции Unix, такие как IBM PC RT, MIPS и SPARC. . Ранние выпуски CMUCL не поддерживали архитектуру Intel x86 из-за отсутствия регистров. CMUCL строго разделяет типы данных с тегами типа и непосредственные типы данных, и сборщик мусора будет полагаться на знание того, что одна половина регистров ЦП может хранить только тегированные типы, а другая половина - только нетегированные типы. Это не оставило достаточного количества регистров для серверной части Python.

После того, как CMU отменил проект (в пользу реализации Dylan с использованием некоторой базы компилятора CMUCL), обслуживание взяла на себя группа добровольцев. К 1996 году эта группа уже регулярно выпускала релизы на собственной инфраструктуре.

Примерно в то же время был завершен порт на архитектуру Intel x86, сначала работавшую на FreeBSD , а затем на Linux . Проблему отсутствия регистров решил новый консервативный сборщик мусора. Этот новый сборщик мусора принимает любое значение любого типа в регистрах и рассматривает все, что может быть указателем, как указатель, чтобы не собирать и не перемещать свою цель.

Компилятор и другие блоки исполнения кода

Функции

Смотрите также

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

  1. ^ «Главная · Wiki · cmucl / cmucl · GitLab» .

Внешние ссылки