Что такое язык программирования схем?

Scheme - это язык программирования, который является разновидностью Lisp. Он был создан в 1975 году Гаем Стилом и Джерри Суссманом в лаборатории искусственного интеллекта Массачусетского технологического института. Это был первый диалект Lisp, который требовал, чтобы его реализации использовали оптимизацию хвостовых вызовов, уделяя особое внимание, в частности, функциональному программированию и рекурсивным алгоритмам.

Язык программирования Scheme использует философию дизайна минимализм, определяя небольшое стандартное ядро ​​и предоставляя мощные инструменты для расширения языка. Он широко используется в образовательных и научных организациях, особенно в области ИИ. Программисты, которые пишут на Scheme, неофициально известны как «Schemers».

Синтаксис Схемы очень похож на Лисп. Он основан на s-выражениях: заключенные в скобки списки, в которых оператор стоит первым, а операнды следуют. Например, выражение «3 плюс 4 умножить на 5» записано на схеме как (+ 3 (* 4 5)).

Как и Lisp, Scheme использует ключевое слово lambda для представления анонимных функций. Например, оператор (lambda (xy) (+ xy)) представляет анонимную функцию, которая добавляет два числа.

Другие заметные особенности

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

Привет, мир! в схеме

 (показать «Привет, мир!») 

  • Как мне создать компьютерную программу?
  • История языка программирования.

Lisp, MIT, язык программирования, условия программирования