Общий шепелявый язык CMU

  • История CMUCL

    • CMUCL – бесплатная реализация Common Lisp, разработанная в Университете Карнеги-Меллона.  
    • Работает на большинстве Unix-подобных платформ, включая Linux и BSD, и имеет экспериментальный порт для Windows.  
    • Steel Bank Common Lisp и Scieneer Common Lisp являются производными от CMUCL.  
  • Ранние версии и архитектура

    • Самая ранняя реализация появилась в 1980 году как часть Spice Lisp.  
    • В 1985 году Роб Маклахлан начал переписывать компилятор, который стал компилятором Python.  
    • Ранние версии не поддерживали архитектуру Intel x86 из-за нехватки регистров.  
    • CMUCL строго разделяет типы данных с тегами типа и непосредственные типы данных.  
  • Техническое обслуживание и развитие

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

    • CMUCL содержит интерпретатор для REPL и быстрой загрузки файлов Lisp.  
    • Машина для интерпретации компактного байт-кода, который может быть запущен компилятором.  
    • Компилятор машинного кода “Python” генерирует код, практически не требующий дополнительных затрат по сравнению с кодом на C++.  
    • Компилятор Python обладает мощными возможностями вывода типов и помогает программисту при написании кода.  
  • Особенности

    • Поколенческая сборка мусора и возможность многопроцессорной обработки на портах x86.  
    • Внешний функциональный интерфейс для взаимодействия с кодом на C и системными библиотеками.  
    • Поддержка межпроцессного взаимодействия и удаленных вызовов процедур.  
    • Реализация CLOS, объектной системы Common Lisp.  
    • Графический отладчик и профилировщик кода.  
    • Интерфейс к оконной системе X11 и сложная библиотека графических виджетов.  
    • Расширяемые программистом потоки ввода и вывода.  
    • Hemlock – редактор, подобный Emacs, реализованный в Common Lisp.  

Полный текст статьи:

CMU Common Lisp

Оставьте комментарий