Alma-0

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar

Alma-0 es un lenguaje de programación informática multiparadigma. Este lenguaje es una versión aumentada del lenguaje imperativo Modula-2 con características de programación lógica y una conveniente capacidad de retroceso. Es pequeño, fuertemente tipado y combina programación de restricciones, un número limitado de características inspiradas en la programación lógica y admite paradigmas imperativos. El lenguaje aboga por la programación declarativa. Los diseñadores afirman que las soluciones orientadas a la búsqueda creadas con él son sustancialmente más simples que sus contrapartes escritas en un estilo de programación puramente imperativo o lógico. Alma-0 proporciona construcciones naturales de alto nivel para construir árboles de búsqueda.

Descripción general

Dado que los diseñadores de Alma-0 querían crear una propuesta distinta y sustancialmente más simple que los intentos anteriores de integrar construcciones de programación declarativa (como el retroceso automático) en la programación imperativa, el diseño de Alma-0 se guió por cuatro principios:

  • La extensión basada en la lógica debe ser hacia abajo compatible con el lenguaje imperativo de programación subyacente
  • La extensión basada en la lógica debe ser arriba compatible con una futura extensión que apoyará la programación de limitaciones
  • Los constructos que implementarán la extensión deben apoyar y fomentar la programación declarativa
  • La extensión debe mantenerse reducida: se han propuesto y aplicado nueve nuevas características

Alma-0 puede verse no solo como una propuesta de lenguaje de programación específica y concreta, sino también como un ejemplo de un método genérico para extender cualquier lenguaje de programación imperativo con características que admitan la programación declarativa.

La viabilidad del enfoque de Alma-0 se ha demostrado mediante la plena aplicación del idioma (incluida la descripción de su semántica) para un subconjunto de Modula-2.

Características

Las características implementadas en Alma-0 incluyen:

  • Uso de expresiones booleanas como declaraciones y viceversa
  • Un doble para el FOR declaración que introduce el no-determinismo en forma de puntos de elección y backtracking
  • A FORALL declaración que introduce una forma controlada de iteración sobre el backtracking
  • La unificación, aunque limitada al uso de la igualdad como asignación, produce un nuevo mecanismo de paso del parámetro.

Modos de programación Imperativa y lógica

Los diseñadores de Alma-0 afirman que la tarea, que normalmente se evita en la programación lógica y declarativa pura, en realidad es necesaria en una serie de situaciones naturales, incluso para fines de conteo y registro. También afirman que los medios de expresión de tales expresiones "naturales" Los usos de la asignación dentro del paradigma de programación lógica no son naturales.

Contenido relacionado

ALGOL 68S

ALGOL 68S es un lenguaje de programación diseñado como un subconjunto de ALGOL 68, para permitir la compilación mediante un compilador de un solo paso. Fue...

ALGOL Y

ALGOL Y fue el nombre dado a un sucesor especulado del lenguaje de programación ALGOL 60 que incorporaba algunas características radicales que fueron...

Lenguaje de especificación IDL

IDL es un lenguaje de descripción de la interfaz de software creado por William Wulf y John Nestor de Carnegie Mellon University y David Lamb de Queen's...

Tarjeta perforada

Una tarjeta perforada es un trozo de papel rígido que contiene datos digitales representados por la presencia o ausencia de agujeros en posiciones...

CPython

CPython es la implementación de referencia del lenguaje de programación Python. Escrito en C y Python, CPython es la implementación predeterminada y más...
Más resultados...
Tamaño del texto:
Copiar