LINUX.ORG.RU

Голосование по второй бета-версии Revised 7 Report on Algorithmic Language Scheme (Large Language)

 , , , ,


2

3

Открыто голосование по содержанию второй (из восьми) бета-редакции алгоритмического языка Scheme R7RS-large (Tangerine Edition), а также сбор предложений по третьей бета-редакции (Orange Edition).

Scheme, также известный под именем Lisp (не путать с Common Lisp) — это современный алгоритмический язык программирования, знаменитый своей ориентацией на функциональную парадигму программирования, однако ей себя не ограничивающий.

Семейство Lisp - второе по длительности применения семейство языков (после Фортрана), основанное Джоном Маккарти в качестве инструмента написания искусственного интеллекта. Одним из активных участников разработки специализированных компьютеров для интерпретации Lisp был Ричард Столлман, впоследствии основатель Фонда Свободного Программного Обеспечения. Как следствие, одним из основных инструментов при разработке на Scheme является Emacs (+Geiser, Scheme-Complete, company-mode). Предполагается, что в какой-то момент Scheme будет внутренним языком Emacs, вместо Emacs Lisp. (Уже сейчас можно посмотреть на EdWin.)

Scheme — это Lisp, ориентированный на лёгкость портирования, функциональный подход и внедрение лучших практик теории языков программирования.

Scheme развивается двумя путями. Индивидуальные расширения формулируются согласно процессу, сходному с RFC, и называются SRFI, (Scheme Request For Implementation). В отведённые сроки выходят объединённые редакции «стандартного отчёта», формулирующие, что из себя представляет scheme «в целом». Последним завершённым изданием является Revised 7 Report on Algorithmic Language Scheme (small language), а последним экспериментальным изданием является R7RS-large Red Edition. Предполагается, что до выхода окончательной редакции R7RS-large выйдет семь или восемь промежуточных редакций, и в данный момент рассматриваются редакция 2 (Tangerine), ставящая своей целью формализовать структуры данных, коллекции и numerics и редакция 3, нацеленная на новые фичи.

Заинтересованным специалистам предлагается изучить дискуссионный материал и проголосовать согласно собственному видению вопроса, представившись перед этим заранее в scheme-reports-wg2@googlegroups.com

Вопросы, по которым предлагается голосование:

  • Строковая библиотека
  • Ассоциативные массивы
  • Регулярные выражения
  • Генераторы/Аккумуляторы
  • Целочисленные операции
  • Битовые операции
  • Математические операции с fixpoint
  • Математические операции с floating point
  • Битовые вектора
  • Гомогенные вектора
  • Форматирование
  • Большие числа
  • Дроби
  • Точные числа

Вопросы, которые предлагается рассмотреть в третьем издании:

  • Случайные числа
  • Простые числа
  • Целочисленные множества
  • Дискрептивная статистика
  • Диапазоны
  • Битовые вектора
  • Байтовые строки
  • Перечисления
  • Комбинаторика и перестановки

>>> Подробности

anonymous

Проверено: jollheef ()

Одним из активных участников разработки специализированных компьютеров для интерпретации Lisp был Ричард Столлман

Скажем так, одними из знаменитых и значимых проектов были Project MAC (1963), спонсированный тем же DARPA, лисп MACLISP, разработанный для этого проекта по созданию AI, и написанная на этом диалекте Macsyma, которую в 80х лицензируют для DOE (Department of Energy). Где-то здесь, Билл Шелтер начинает поддерживать свою версию macsymы, в 90х она переписывает под общелисп, в 1998 году ему удаётся получить разрешение от департамента энергетики выпустить код под GPL. Рядом взлёт и падение Symbolics, конторы, штамповавшей лисп-машины.

Ну а раскол между схемкой и общелиспом в основном, тут меня могут поправить, произошёл на почве dynamic binding общелиспа и Lexical scope схемки.

anonymous ()
Ответ на: комментарий от anonymous

Ну а раскол между схемкой и общелиспом в основном, тут меня могут поправить, произошёл на почве dynamic binding общелиспа и Lexical scope схемки.

Сейчас и то и другое есть сейчас в обоих лиспах (lexical scope общелисп унаследовал от схемки при рождении, а dynamic binding под именем в схемке в srfi-39). А вот call/cc, отдельные пространства имён функций и переменных и гигиенические макросы - действительно неразрешимые противоречия.

monk ★★★★★ ()
Ответ на: комментарий от monk

Негигиенические макросы, вроде бы, в Схему тоже хотят добавить, по крайней мере, разработки на эту тему я видел.В

В Emacs Lisp можно проверять boundp и fboundp.

anonymous ()
Ответ на: комментарий от anonymous

Они там малоосмысленны. Ведь нет запрета на затенение имён стандартной библиотеки (как в cl для имён из пакета cl). Негигиеничность отдельных символов есть через syntax-case.

monk ★★★★★ ()