Введение

Бесплатная реализация Common Lisp

Steel Bank Common Lisp (SBCL) — это бесплатная реализация Common Lisp, отличающаяся высокопроизводительным компилятором, поддержкой Unicode и многопоточностью. Это программное обеспечение с открытым исходным кодом и разрешительной лицензией. Помимо компилятора и среды выполнения для ANSI Common Lisp, она предоставляет интерактивную среду, включающую отладчик, статистический профилировщик, инструмент анализа покрытия кода и множество других расширений. Название "Steel Bank Common Lisp" отсылает к Common Lisp Университета Карнеги — Меллона, от которого произошел SBCL: Эндрю Карнеги сделал состояние на сталелитейной промышленности, а Эндрю Меллон был успешным банкиром.

История

SBCL происходит от CMUCL (созданного в Университете Карнеги-Меллона), который, в свою очередь, происходит от Spice Lisp, включая ранние реализации для операционной системы Mach на IBM RT PC и компьютера Three Rivers Computing Corporation PERQ в 1980-х годах. Уильям Ньюман первоначально объявил о SBCL как о варианте CMUCL в декабре 1999 года. Основным отличием в то время была чистая процедура начальной загрузки: CMUCL требует уже скомпилированного исполняемого файла для компиляции исходного кода CMUCL, в то время как SBCL поддерживал начальную загрузку теоретически из любой реализации Common Lisp, соответствующей стандарту ANSI. SBCL стал проектом SourceForge в сентябре 2000 года. Изначальной причиной разделения было продолжение начальной работы, выполненной Ньюманом, без внесения дестабилизации в CMUCL, который к тому времени уже был зрелой и широко используемой реализацией. Разделение произошло мирным путем, и с тех пор между двумя проектами наблюдался значительный обмен кодом и другими формами взаимообогащения. С тех пор SBCL привлек нескольких разработчиков, был портирован на множество аппаратных архитектур и операционных систем, и претерпел множество изменений и улучшений: хотя он и отказался от поддержки некоторых расширений CMUCL, которые считает выходящими за рамки проекта (например, интерфейса Motif), он также разработал множество новых, включая нативную поддержку многопоточности и Unicode. Версия 1.0 была выпущена в ноябре 2006 года, и активная разработка продолжается. Уильям Ньюман покинул пост администратора проекта SBCL в апреле 2008 года. Несколько других разработчиков временно взяли на себя управление выпусками. В честь десятилетия SBCL был организован семинар. Версия 2.0.0 была выпущена 29 декабря 2019 года к двадцатилетию SBCL, без существенных изменений, нарушающих обратную совместимость.