X3J13
X3J13 — это название технического комитета , который входил в состав Международного комитета по стандартам информационных технологий (INCITS, тогда называвшегося X3 ). Комитет X3J13 был сформирован в 1986 году для разработки Американского национального института стандартов (ANSI) Common Lisp стандарта на основе первого издания книги Common Lisp the Language (также называемой CLtL или CLtL1 ) Гая Л. Стила-младшего . который раньше был стандартом де-факто для языка. Основным результатом X3J13 стал американский национальный стандарт языка программирования Common Lisp (X3.226/1994), утвержденный 8 декабря 1994 года. Позже X3J13 работал с Международной организации по стандартизации (ISO) рабочей группой SC22/WG16 над международно стандартизированным диалектом. Лиспа под названием ISLISP .
Организация [ править ]
Первоначальным председателем комитета был доктор Роберт Матис из Университета штата Огайо , а секретарем — Мэри ван Деузен. Гай Л. Стил-младший изначально был вице-председателем. В последующие годы Матис ушел с поста председателя, и эту роль взял на себя Стил.
Усилия комитета руководствовались его уставом , успешное создание которого связано с координирующими усилиями Сьюзан П. Эннис, представителя производственной компании Amoco . [1] В уставе излагаются цели и приоритеты комитета, а также широко определенный список некоторых тем, которые необходимо рассмотреть.
Подкомитеты [ править ]
Комитет сформировал несколько подкомитетов, чтобы помочь своим членам лучше сконцентрировать свои усилия.
Подкомитет по очистке [ править ]
Подкомитет по очистке под председательством Ларри Масинтера установил стандартизированный формат подачи предложений на голосование. Эти рецензии на выпуски, [2] хотя сами по себе они не являются частью стандарта, они были сочтены достаточно полезными для Common Lisp HyperSpec , чтобы включить их и перекрестно ссылаться на них для удобства читателей, предоставляя информацию об первоначальных намерениях комитета в его решениях. Эти описания также служат историческим отчетом об альтернативных решениях проблем, которые в конечном итоге не были приняты.
Подкомитет по составлению [ править ]
Этот подкомитет под председательством Сандры Лусмор разработал предложения по вопросам, связанным с компиляцией Lisp . Во втором издании Common Lisp the Language Гай Стил признал большой вклад Подкомитета по компиляторам в разъяснение процесса компиляции, описанного в первом издании, некоторые части которого Стил описывает как «неясные». [3]
Подкомитет по итерациям [ править ]
Джон Л. Уайт был председателем подкомитета по итерациям . Среди вопросов, которыми занималась эта группа, были общие LOOP
макрос – предметно-ориентированный язык , которому во втором издании CLtL посвящена целая глава. « АЛГОЛ -подобный» синтаксис Лиспа этого макроса, отличающийся от более обычного синтаксиса s-выражений , был и остается несколько спорным. [4]
Подкомитет по персонажам [ править ]
Перед Подкомитетом по персонажам под председательством Тома Линдена стояла задача определить, как стандарт будет решать проблемы, связанные с различными наборами символов . Решение этих вопросов, в частности возможность использования любого символа в имени символа , было призвано упростить Common Lisp для международных пользователей.
Подкомитет по обработке ошибок [ править ]
Подкомитет по обработке ошибок под председательством Кента Питмана заткнул то, что было описано как «самую большую дыру в Common Lisp». [3] с системой условий — общим механизмом обработки ошибок , предупреждений и других исключительных ситуаций.
Комитет назвал полученную спецификацию «системой условий», а не «системой ошибок». [5] чтобы разместить одну систему для обработки исключительных ситуаций различного рода, фатальных или нефатальных, продолжаемых или нет, а также являющихся результатом ошибки программы или простого ограничения ресурсов (например, переполнение стека). [6] Условия сигнализируются в одной точке кода и могут обрабатываться в другой точке. Такое использование термина «сигнал» отличается от типичного в операционной системе понятия сигналов (за исключением машин Lisp , где этот вариант использования термина развился). [7] ); операционной системы Понятие сигнализации выходило за рамки рассмотрения этого комитета и, следовательно, не рассматривалось в стандарте ANSI Common Lisp. Асинхронные прерывания и перехват плавающей запятой IEEE также выходили за рамки работы этого комитета и не рассматривались в стандарте.
Редакционная комиссия [ править ]
Кэти Чепмен была председателем Редакционного подкомитета, который отвечал за разработку настоящего стандартного документа . Кроме того, подкомитет курировал усилия по обеспечению единообразия и точности терминологии на протяжении всей деятельности комитета.
Итоговый документ [ править ]
Окончательный стандарт, разработанный комитетом X3J13, был опубликован как American National Standard X3.226, а также в гипертекстовой форме как Common Lisp HyperSpec .
с языком Common Связь Lisp
Книга Common Lisp the Language , написанная в основном Гаем Л. Стилом-младшим , была продуктом специального комитета, который сформировался примерно в 1980 году и совместно работал над созданием оригинального де-факто стандарта Common Lisp до формирования X3J13. . X3J13 начал свою работу с Common Lisp the Language в качестве базового документа и продолжил разработку того, что впоследствии стало ANSI Common Lisp. Стил входил в состав комитета и разрешил им использовать любую или все части его первого издания в своих усилиях.
Документы, опубликованные X3J13, позже были использованы вместе с цитатами некоторых членов комитета при создании второго издания Common Lisp the Language , которое было выпущено в 1990 году, что дало сообществу Common Lisp возможность предварительно просмотреть многие функции, которые, как ожидалось, появятся в окончательный стандартный документ комитета. Это издание имеет сходство со стандартом по содержанию, но не по форме. Однако между публикацией книги и окончательным проектом стандарта ANSI были внесены существенные изменения в форме как дополнений, так и исключений.
В целом, первоначальная редакция Common Lisp the Language была документом, на котором X3J13 изначально основывал свою работу. Второе издание, напротив, было собственной работой Стила, а не продуктом комитета и не имело официального статуса в X3J13 или ANSI. Как указано в предисловии ко второму изданию, это не было одобрено X3J13, выбор контента в качестве снимка незавершенной работы не был формально синхронизирован с X3J13, а окончательная версия не рассматривалась и не одобрялась X3J13.
См. также [ править ]
- Общий Лисп
- АНСИ
- INCITS (ранее называвшийся X3), родительский корпус X3J13.
- Common Lisp the Language - Гая Л. Стила-младшего книга
- Common Lisp HyperSpec – гипертекстовая версия стандарта.
Ссылки [ править ]
- ^ Питман, Кент М. (18 апреля 1999 г.). «Устав X3J13 (с аннотациями)» . НХ Плейс . Проверено 19 декабря 2018 г.
- ^ Масинтер, Ларри. «В репозитории X3J13 устранены проблемы с очисткой» . Ксерокс ПАРК .
- ↑ Перейти обратно: Перейти обратно: а б Стил, Гай Л. младший (1984). «Благодарности». Common Lisp the Language (второе изд.). Мейнард, Массачусетс : Digital Press . ISBN 0-932376-41-Х .
- ^ Стил, Гай Л. младший ; Габриэль, Ричард П. (1993). «Эволюция Лиспа» (PDF) . Уведомления ACM SIGPLAN . 28 (3): 85, 231–270. дои : 10.1145/155360.155373 . Проверено 19 декабря 2018 г.
- ^ Питман, Кент М. (12 марта 1988 г.). «Система условий Common Lisp, редакция № 18» . НХ Плейс . Проверено 19 декабря 2018 г.
- ^ Питман, Кент М. (февраль 1985 г.). «Массачусетский технологический институт, Лаборатория искусственного интеллекта, Рабочий документ 268: Исключительные ситуации в Lisp» (PDF) . DSpace@MIT, Библиотеки MIT . Массачусетский технологический институт . Проверено 19 декабря 2018 г.
- ^ Андре, Дэвид Л.; Гринберг, Бернард С .; Мун, Дэвид А .; МакМахон, Майк; Вайнреб, Дэниел Л. (1983). Условия сигнализации и обработки (отчет). , печатное издание компании Symbolics, Inc.