¿Qué es un lenguaje de programación de esquema?

Scheme es un lenguaje de programación que es una variación de Lisp. Fue creado en 1975 por Guy Steele y Gerry Sussman en el laboratorio de Inteligencia Artificial del MIT. Fue el primer dialecto de Lisp que requirió que sus implementaciones usaran la optimización de llamadas de cola, poniendo un fuerte énfasis en la programación funcional y los algoritmos recursivos, en particular.

El lenguaje de programación Scheme emplea una filosofía de diseño de minimalismo, especificando un núcleo estándar pequeño y proporcionando herramientas poderosas para extender el lenguaje. Es ampliamente utilizado en organizaciones educativas y científicas, especialmente en el campo de la IA. Los programadores que escriben en Scheme son informalmente conocidos como "Schemers".

La sintaxis del esquema es muy similar a la de Lisp. Se basa en s-expresiones: listas entre paréntesis en las que el operador aparece primero y los operandos siguen. Por ejemplo, la expresión "3 más 4 por 5" se escribe en Esquema como (+ 3 (* 4 5)).

Al igual que Lisp, Scheme usa la palabra clave lambda para representar funciones anónimas. Por ejemplo, la declaración (lambda (xy) (+ xy)) representa una función anónima que agrega dos números.

Otras características notables

  • Ámbito léxico: los enlaces de todas las variables en el Esquema están determinados por la unidad de código en la que aparece la variable.
  • Un espacio de nombres compartido para variables y procedimientos: las mismas primitivas que se utilizan para operar con variables también pueden usarse para operar con procedimientos y funciones.
  • Un conjunto completo de tipos de datos numéricos.
  • Evaluación retrasada, que permite la implementación de técnicas de programación asíncronas, como promesas y futuros.
  • Macros higiénicas: un sistema de macros que permite al programador extender la funcionalidad del lenguaje sin interferir con la sintaxis nativa del lenguaje.
  • La capacidad de evaluar de forma nativa su propio código.
  • La capacidad de redefinir procedimientos y funciones estándar.

¡Hola Mundo! en esquema

 (muestra "¡Hola mundo!") 

  • ¿Cómo creo un programa de computadora?
  • Programación de la historia del lenguaje.

Lisp, MIT, lenguaje de programación, términos de programación