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.

Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save