Fril

Fril

Fril es un lenguaje de programación para el cálculo de predicados de primer orden. Trabaja con un subconjunto de la semántica del lenguaje Prolog pero no del estándar ISO-PROLOG, sino con la sintaxis de micro-PROLOG, un dialecto desarrollado a principios de la década de 1980, añadiéndole soporte para conjuntos difusos, lógica de apoyo y metaprogramación.

Las primeras versiones de Fril fueron originalmente desarrolladas por Trevor Martin y Jim Baldwin en la Universidad de Bristol en torno a 1980. En 1986, pasó a manos del Equipu AI Research, que más tarde se convirtió en Fril Systems Ltd., que se encargó de la implementación y desarrollo de las versiones actuales del lenguaje. El nombre Fril era originalmente un acrónimo de Fuzzy Relational Inference Language (en español "Lenguaje de inferencia difusa relacional").

Contenido

Prolog y Fril comparados

Aparte de la gestión de lógica difusa, característica de Fril, hay algunas diferencias de menor importancia en la aplicación a Fril de características estándar de Prolog.

Tipos

Los tipos básicos en Fril son similares a los de Prolog, con una excepción importante: el tipo de dato compuesto en Prolog es el término compuesto, listas de átomos usando un átomo como "functor" y el resto como "argumentos", definidas usando ".", en Fril, el tipo compuesto es la propia lista, lo que constituye la base para la mayoría de las construcciones. Las variables se distinguen por los identificadores de las mismas, que se escriben en su totalidad en letras mayúsculas (mientras que en Prolog sólo se requiere que la primera letra del nombre de la variable sea en mayúsculas). Como en Prolog, el carácter "_" está reservado para significar "ningún valor", lo que se traduce en que puede haber múltiples apariciones de "_" sustituyendo a diferentes variables indistintamente.

Sintaxis

Comparadas las sintaxis del Prolog y el Fril, este último tiene una sintaxis más simple y en algunos aspectos similar a la de Lisp. Una cláusula proposicional es una lista compuesta de un predicado seguido de sus argumentos (si los hubiera). Entre los tipos de construcciones de nivel superior son las reglas y los comandos de modo directo.

Reglas

Una regla es una lista que consiste en una conclusión seguida de la hipótesis (objetivos). Tienen en general el siguiente aspecto:

((dato))
((conclusion objetivo_1 ... objetivo_n))

La construcción equivalente en Prolog sería:

dato.
conclusion :- objetivo_1, ..., objetivo_n.

Por ejemplo, el predicado member en Prolog:

member(E, [E|_]).
member(E, [_|T]) :- member(E, T).

En Fril, esto sería:

((member E (E|_)))
((member E (_|T)) (member E T))

Relación

Algunos datos pueden ser representados en forma de relaciones. Una relación es equivalente a un conjunto de hechos con el mismo nombre de predicado y de aridad constante, salvo que ninguno de los hechos se pueden quitar (excepto con el comando kill, que elimina la relación); como representación consume menos memoria interna. Una relación está escrita, literalmente, como una lista compuesta por el nombre del predicado seguido por una o varias tuplas de la relación (todos los argumentos de un hecho equivalente, sin el nombre del predicado). Un predicado también puede ser declarado una relación mediante una llamada al predicado def_rel, aunque esto sólo funciona si el nombre propuesto no existe en la base de conocimientos. Una vez que un predicado es una relación, normalmente se añade una regla y si no viola las restricciones de las relaciones, se agrega automáticamente una tupla a la relación en su lugar.

He aquí un ejemplo. El siguiente conjunto de hechos:

((menor-que 2 3))
((menor-que 8 23))
((menor-que 42 69))

puede ser reescrito como una relación:

(menor-que
    (2 3)
    (8 23)
    (42 69))

Disyunción

Para este propósito Prolog usa un signo de puntuación ";". Fril usa el predicado orr.

Referencias

Enlaces externos


Wikimedia foundation. 2010.

Игры ⚽ Поможем написать реферат

Mira otros diccionarios:

  • Fril — Infobox programming language name = Fril logo = paradigm = Logic programming year = 1980 designer = Trevor Martin implementations = Fril dialects = influenced by = influenced =Fril is a programming language for first order predicate calculus. It… …   Wikipedia

  • frilæsning — fri|læs|ning sb., en, i sms. frilæsnings , fx frilæsningsbog …   Dansk ordbog

  • frilægge — fri|læg|ge (el. fritlægge) vb., r, frilagde, frilagt …   Dansk ordbog

  • frilæggelse — fri|læg|gel|se (el. fritlæggelse) sb., n, r, rne …   Dansk ordbog

  • frilægning — fri|læg|ning (el. fritlægning) sb., en, er, erne …   Dansk ordbog

  • Lenguaje Fril — Saltar a navegación, búsqueda Fril es un lenguaje de programación para el cálculo de predicados de primer orden. Trabaja con un subconjunto de la semántica del lenguaje Prolog pero no del estándar ISO PROLOG, sino con la sintaxis de micro Prolog …   Wikipedia Español

  • Cathal Ó'fríl Monument National University Ireland Galway — The cathal Ó fríl monument was erected in 1992 in the NUIG(national university ireland, galway). Also known as the The yellow thing , the monument is a tribute to this great engineer. Its symbolizes his forward thinking and appreciation of modern …   Wikipedia

  • frilling — /fril ing/, n. frilled edging. [1805 15; FRILL + ING1] * * * …   Universalium

  • freelance — /ˈfrilæns / (say freelans) noun 1. a journalist, commercial artist, editor, etc., who does not work on a regular salaried basis for any one employer. 2. a mercenary soldier or military adventurer of the Middle Ages, often of knightly rank, who… …  

  • frille — fril|le sb., n, r, rne (HISTORISK elskerinde) …   Dansk ordbog

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”