X3J13

X3J13 — название технического комитета , который был частью Международного комитета по стандартам информационных технологий (INCITS, тогда называвшегося X3 ). Комитет X3J13 был сформирован в 1986 году для разработки стандарта Common Lisp Американского национального института стандартов (ANSI) на основе первого издания книги Common Lisp the Language (также называемой CLtL или CLtL1 ) Гая Л. Стила-младшего , которая ранее была фактическим стандартом для языка. Основным результатом X3J13 стал Американский национальный стандарт для языка программирования Common Lisp (X3.226/1994), утвержденный 8 декабря 1994 года. Позднее X3J13 работал с рабочей группой Международной организации по стандартизации (ISO) SC22/WG16 над международным стандартизированным диалектом Lisp под названием ISLISP .

Организация

Первоначальным председателем комитета был доктор Роберт Матис из Университета штата Огайо , а Мэри ван Дьюзен была секретарем. Гай Л. Стил-младший был первоначально заместителем председателя. В последующие годы Матис ушел с поста председателя, и Стил взял на себя эту роль.

Усилия комитета направлялись его уставом , успешное создание которого было приписано координирующим усилиям Сьюзен П. Эннис, представителя Amoco Production Company. [1] В уставе изложены цели и приоритеты комитета, а также широко определенный список некоторых тем для рассмотрения.

Подкомитеты

Комитет сформировал несколько подкомитетов, чтобы помочь своим членам лучше сконцентрировать свои усилия.

Подкомитет по очистке

Подкомитет по очистке под председательством Ларри Масинтера установил стандартизированный формат для подачи предложений на голосование. Эти описания проблем [2] , хотя сами по себе не являются частью стандарта, были сочтены достаточно полезными для Common Lisp HyperSpec, чтобы включить их и сделать перекрестные ссылки на них для удобства читателей, предоставляя информацию об изначальном намерении комитета в его решениях. Эти описания также служат исторической записью тех альтернативных решений проблем, которые в конечном итоге не были приняты.

Подкомитет по составлению

Под председательством Сандры Лусмор этот подкомитет разрабатывал предложения по вопросам, связанным с компиляцией Lisp . Гай Стил признал во втором издании Common Lisp the Language большой вклад подкомитета по компиляции в прояснение процесса компиляции, описанного в первом издании, части которого Стил описывает как «расплывчатые». [3]

Подкомитет итерации

Джон Л. Уайт был председателем подкомитета по итерации . Среди вопросов, которыми занималась эта группа, был обобщенный LOOP макроспредметно-ориентированный язык , которому второе издание CLtL посвящает целую главу. Синтаксис этого макроса, «похожий на ALGOL » , отличающийся от более привычного синтаксиса s-выражений Lisp , был и остается несколько спорным. [4]

Подкомитет по характеру

Подкомитет по символам под председательством Тома Линдена имел задачу определить, как стандарт будет решать проблемы, связанные с различными наборами символов . Разрешение этих вопросов, в частности, возможность использовать любой символ в названии символа , было призвано сделать Common Lisp проще для международных пользователей.

Подкомитет по обработке ошибок

Под председательством Кента Питмана подкомитет по обработке ошибок закрыл то, что было описано как «самая большая дыра в Common Lisp» [3], с помощью системы условий — общего механизма обработки ошибок , предупреждений и других исключительных ситуаций.

Комитет назвал полученную спецификацию «системой условий», а не «системой ошибок» [5] , чтобы приспособить одну систему для обработки исключительных ситуаций различных видов, будь то фатальные или нефатальные, продолжаемые или нет, и являются ли они результатом ошибки программы или простого ограничения ресурсов (например, переполнения стека). [6] Условия сигнализируются в одной точке кода и могут быть обработаны в другой точке. Такое использование термина «сигнал» отличается от типичного понятия сигналов операционной системы (за исключением машин Lisp , где этот вариант использования термина развился [7] ); понятие сигнализации операционной системы было вне сферы деятельности этого комитета и, следовательно, не рассматривалось в стандарте ANSI Common Lisp. Асинхронные прерывания и прерывание с плавающей точкой IEEE также были вне сферы деятельности этого комитета и не рассматривались в стандарте.

Редакционный подкомитет

Кэти Чепмен была председателем подкомитета по составлению проекта, который отвечал за составление проекта самого стандартного документа . Кроме того, подкомитет контролировал усилия по поддержанию единообразия и точности терминологии на протяжении всей деятельности комитета.

Окончательный документ

Окончательный стандарт, разработанный комитетом X3J13, был опубликован как Американский национальный стандарт 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 Second Edition, выпущенного в 1990 году, что дало сообществу Common Lisp возможность предварительно ознакомиться со многими функциями, которые, как ожидалось, должны были появиться в окончательном стандартном документе комитета. Это издание имеет сходство со стандартом по содержанию, но не по форме. Однако между публикацией книги и окончательным проектом стандарта ANSI были внесены существенные изменения в виде как дополнений, так и удалений.

В целом, оригинальное издание Common Lisp the Language было документом, на котором изначально базировалась работа X3J13. Второе издание, напротив, было собственной работой Стила, а не продуктом комитета и не имело официального статуса в X3J13 или ANSI. Как признано в предисловии ко второму изданию, оно не было авторизовано X3J13, выбор контента в качестве снимка текущей работы не был формально синхронизирован с X3J13, а окончательная версия не была рассмотрена или одобрена X3J13.

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

Ссылки

  1. ^ Питман, Кент М. (18 апреля 1999 г.). "X3J13 Charter (annotated)". NH Place . Получено 19 декабря 2018 г.
  2. ^ Масинтер, Ларри. «Репозиторий X3J13 прошел очистку». Xerox PARC .
  3. ^ ab Steele, Guy L. Jr. (1984). "Благодарности". Common Lisp the Language (второе изд.). Maynard, Massachusetts : Digital Press . ISBN 0-932376-41-X.
  4. ^ Стил, Гай Л. младший ; Габриэль, Ричард П. (1993). «Эволюция Lisp» (PDF) . Уведомления ACM SIGPLAN . 28 (3): 85, 231– 270. doi :10.1145/155360.155373 . Получено 19 декабря 2018 г.
  5. ^ Pitman, Kent M. (12 марта 1988 г.). "Common Lisp Condition System, Revision #18". NH Place . Получено 19 декабря 2018 г.
  6. ^ Питман, Кент М. (февраль 1985 г.). «Массачусетский технологический институт, Лаборатория искусственного интеллекта, рабочий документ 268: исключительные ситуации в Lisp» (PDF) . DSpace@MIT, Библиотеки MIT . Массачусетский технологический институт . Получено 19 декабря 2018 г. .
  7. ^ Андре, Дэвид Л.; Гринберг, Бернард С .; Мун, Дэвид А .; Макмахон, Майк; Вайнреб, Дэниел Л. (1983). Условия сигнализации и обработки (отчет)., печатное издание Symbolics, Inc.
  • Рабочие файлы для комитета X3J13 Ansi Common Lisp
  • Устав X3J13 (X3J13/SD-05)
  • Common Lisp HyperSpec
  • Общий технический отчет LISPCleanup
  • Формат предложения комитета по очистке
Взято с "https://en.wikipedia.org/w/index.php?title=X3J13&oldid=990841364"