SETL

SETL es un lenguaje de programación de muy alto nivel basado en la teoría matemática de conjuntos . Originalmente se desarrolló cerca de Jacob T. Schwartz  (en) en el Instituto Courant de Ciencias Matemáticas de la Universidad de Nueva York . Existe una variante llamada ISETL (del inglés Interactive SET Language ) que permite la programación en conjuntos matemáticos .

SETL proporciona dos tipos básicos de datos: conjuntos y secuencias desordenados (también llamados tuplas ). Los elementos de conjuntos y tuplas pueden ser de cualquier tipo arbitrario, incluidos los propios conjuntos y tuplas. Las funciones se proporcionan como conjuntos de pares (es decir, d., Tuplas de longitud 2) y pueden tener campos y codominios de tipos arbitrarios. Las operaciones primitivas en SETL incluyen, entre otras, pertenencia al conjunto, unión, intersección y poder de conjuntos. SETL permite expresar expresiones booleanas cuantificadas construidas utilizando el cálculo de predicados de primer orden, cuantificadores universales y cuantificadores existenciales . SETL también proporciona varios iteradores para producir varios bucles en estructuras de datos.

Código de muestra

Devuelve todos los números primos menores que n:

NbPremiers := func(n); return {x: x in {2..n} | forall y in {2..x-1} | x mod y /=0}; end; NbPremiers(100);

La puntuación es similar a la comprensión de listas .

Histórico

ABC , el precursor de Python , se inspiró en SETL para Lambert Meertens , quien pasó un año con el grupo SETL en NYU antes de crear la versión final de ABC.

Bibliografía

Ver también

enlaces externos