7 resultados para Functional Written Language

em Universidad Politécnica de Madrid


Relevância:

80.00% 80.00%

Publicador:

Resumo:

We present a parallel graph narrowing machine, which is used to implement a functional logic language on a shared memory multiprocessor. It is an extensión of an abstract machine for a purely functional language. The result is a programmed graph reduction machine which integrates the mechanisms of unification, backtracking, and independent and-parallelism. In the machine, the subexpressions of an expression can run in parallel. In the case of backtracking, the structure of an expression is used to avoid the reevaluation of subexpressions as far as possible. Deterministic computations are detected. Their results are maintained and need not be reevaluated after backtracking.

Relevância:

80.00% 80.00%

Publicador:

Resumo:

Esta tesis estudia la reducción plena (‘full reduction’ en inglés) en distintos cálculos lambda. 1 En esencia, la reducción plena consiste en evaluar los cuerpos de las funciones en los lenguajes de programación funcional con ligaduras. Se toma el cálculo lambda clásico (i.e., puro y sin tipos) como el sistema formal que modela el paradigma de programación funcional. La reducción plena es una técnica fundamental cuando se considera a los programas como datos, por ejemplo para la optimización de programas mediante evaluación parcial, o cuando algún atributo del programa se representa a su vez por un programa, como el tipo en los demostradores automáticos de teoremas actuales. Muchas semánticas operacionales que realizan reducción plena tienen naturaleza híbrida. Se introduce formalmente la noción de naturaleza híbrida, que constituye el hilo conductor de todo el trabajo. En el cálculo lambda la naturaleza híbrida se manifiesta como una ‘distinción de fase’ en el tratamiento de las abstracciones, ya sean consideradas desde fuera o desde dentro de si mismas. Esta distinción de fase conlleva una estructura en capas en la que una semántica híbrida depende de una o más semánticas subsidiarias. Desde el punto de vista de los lenguajes de programación, la tesis muestra como derivar, mediante técnicas de transformación de programas, implementaciones de semánticas operacionales que reducen plenamente a partir de sus especificaciones. Las técnicas de transformación de programas consisten en transformaciones sintácticas que preservan la equivalencia semántica de los programas. Se ajustan las técnicas de transformación de programas existentes para trabajar con implementaciones de semánticas híbridas. Además, se muestra el impacto que tiene la reducción plena en las implementaciones que utilizan entornos. Los entornos son un ingrediente fundamental en las implementaciones realistas de una máquina abstracta. Desde el punto de vista de los sistemas formales, la tesis desvela una teoría novedosa para el cálculo lambda con paso por valor (‘call-by-value lambda calculus’ en inglés) que es consistente con la reducción plena. Dicha teoría induce una noción de equivalencia observacional que distingue más puntos que las teorías existentes para dicho cálculo. Esta contribución ayuda a establecer una ‘teoría estándar’ en el cálculo lambda con paso por valor que es análoga a la ‘teoría estándar’ del cálculo lambda clásico propugnada por Barendregt. Se presentan resultados de teoría de la demostración, y se sugiere como abordar el estudio de teoría de modelos. ABSTRACT This thesis studies full reduction in lambda calculi. In a nutshell, full reduction consists in evaluating the body of the functions in a functional programming language with binders. The classical (i.e., pure untyped) lambda calculus is set as the formal system that models the functional paradigm. Full reduction is a prominent technique when programs are treated as data objects, for instance when performing optimisations by partial evaluation, or when some attribute of the program is represented by a program itself, like the type in modern proof assistants. A notable feature of many full-reducing operational semantics is its hybrid nature, which is introduced and which constitutes the guiding theme of the thesis. In the lambda calculus, the hybrid nature amounts to a ‘phase distinction’ in the treatment of abstractions when considered either from outside or from inside themselves. This distinction entails a layered structure in which a hybrid semantics depends on one or more subsidiary semantics. From a programming languages standpoint, the thesis shows how to derive implementations of full-reducing operational semantics from their specifications, by using program transformations techniques. The program transformation techniques are syntactical transformations which preserve the semantic equivalence of programs. The existing program transformation techniques are adjusted to work with implementations of hybrid semantics. The thesis also shows how full reduction impacts the implementations that use the environment technique. The environment technique is a key ingredient of real-world implementations of abstract machines which helps to circumvent the issue with binders. From a formal systems standpoint, the thesis discloses a novel consistent theory for the call-by-value variant of the lambda calculus which accounts for full reduction. This novel theory entails a notion of observational equivalence which distinguishes more points than other existing theories for the call-by-value lambda calculus. This contribution helps to establish a ‘standard theory’ in that calculus which constitutes the analogous of the ‘standard theory’ advocated by Barendregt in the classical lambda calculus. Some prooftheoretical results are presented, and insights on the model-theoretical study are given.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

We discuss a framework for the application of abstract interpretation as an aid during program development, rather than in the more traditional application of program optimization. Program validation and detection of errors is first performed statically by comparing (partial) specifications written in terms of assertions against information obtained from (global) static analysis of the program. The results of this process are expressed in the user assertion language. Assertions (or parts of assertions) which cannot be checked statically are translated into run-time tests. The framework allows the use of assertions to be optional. It also allows using very general properties in assertions, beyond the predefined set understandable by the static analyzer and including properties defined by user programs. We also report briefly on an implementation of the framework. The resulting tool generates and checks assertions for Prolog, CLP(R), and CHIP/CLP(fd) programs, and integrates compile-time and run-time checking in a uniform way. The tool allows using properties such as types, modes, non-failure, determinacy, and computational cost, and can treat modules separately, performing incremental analysis.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

We present a framework for the application of abstract interpretation as an aid during program development, rather than in the more traditional application of program optimization. Program validation and detection of errors is first performed statically by comparing (partial) specifications written in terms of assertions against information obtained from static analysis of the program. The results of this process are expressed in the user assertion language. Assertions (or parts of assertions) which cannot be verified statically are translated into run-time tests. The framework allows the use of assertions to be optional. It also allows using very general properties in assertions, beyond the predefined set understandable by the static analyzer and including properties defined by means of user programs. We also report briefly on an implementation of the framework. The resulting tool generates and checks assertions for Prolog, CLP(R), and CHIP/CLP(fd) programs, and integrates compile-time and run-time checking in a uniform way. The tool allows using properties such as types, modes, non-failure, determinacy, and computational cost, and can treat modules separately, performing incremental analysis. In practice, this modularity allows detecting statically bugs in user programs even if they do not contain any assertions.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

A range of methodologies and techniques are available to guide the design and implementation of language extensions and domainspecific languages. A simple yet powerful technique is based on source-tosource transformations interleaved across the compilation passes of a base language. Despite being a successful approach, it has the main drawback that the input source code is lost in the process. When considering the whole workflow of program development (warning and error reporting, debugging, or even program analysis), program translations are no more powerful than a glorified macro language. In this paper, we propose an augmented approach to language extensions for Prolog, where symbolic annotations are included in the target program. These annotations allow selectively reversing the translated code. We illustrate the approach by showing that coupling it with minimal extensions to a generic Prolog debugger allows us to provide users with a familiar, source-level view during the debugging of programs which use a variety of language extensions, such as functional notation, DCGs, or CLP{Q,R}.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

The Common European Framework of Reference for Languages (CEFR) "describes in a comprehensive way what language learners have to learn to do in order to use a language for communication and what knowledge and skills they have to develop so as to be able to act effectively" (Council of Europe, 2001: 1). This paper reports on the findings of two studies whose purpose was to assess written production competence descriptors meant for their inclusion into the Academic and Professional English Language Portfolio KELP) for students of engineering and architecture. The main objective of these studies was to establish whether the language competence descriptors were a satisfactory valid tool in their language programmes from the point of view of clarity, relevance and reliability, as perceived by the students and fellow English for Academic Purposes (RAP) / English for Science and Technology (EST) instructors. The studies shed light on how to improve unsatisfactory descriptors. Results show that the final descriptor lists were on the whole well calibrated and fairly well written: the great majority was considered valid for both teachers and students involved.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

Esta investigación se enmarca dentro de los denominados lenguajes de especialidad que para esta tesis será el de las Tecnologías de la Información y la Comunicación (TIC). De todos los aspectos relacionados con el estudio de estos lenguajes que pudieran tener interés lingüístico ha primado el análisis del componente terminológico. Tradicionalmente la conceptualización de un campo del saber se representaba mayoritariamente a través del elemento nominal, así lo defiende la Teoría General de la Terminología (Wüster, 1968). Tanto la lexicología como la lexicografía han aportado importantes contribuciones a los estudios terminológicos para la identificación del componente léxico a través del cual se transmite la información especializada. No obstante esos primeros estudios terminológicos que apuntaban al sustantivo como elmentos denominativo-conceptual, otras teorías más recientes, entre las que destacamos la Teoría Comunicativa de la Terminología (Cabré, 1999) identifican otras estructuras morfosintácticas integradas por otros elementos no nominales portadores igualmente de esa carga conceptual. A partir de esta consideración, hemos seleccionado para este estudio el adjetivo relacional en tanto que representa otra categoría gramatical distinta al sustantivo y mantiene un vínculo con éste debido a su procedencia. Todo lo cual puede suscitar cierto interés terminológico. A través de esta investigación, nos hemos propuesto demostrar las siguientes hipótesis: 1. El adjetivo relacional aporta contenido especializado en su asociación con el componente nominal. 2. El adjetivo relacional es portador de un valor semántico que hace posible identificar con más precisión la relación conceptual de los elementos -adjetivo y sustantivo - de la combinación léxica resultante, especialmente en algunas formaciones ambiguas. 3. El adjetivo relacional, como modificador natural del sustantivo al que acompaña, podría imponer cierta restricción en sus combinaciones y, por tanto, hacer una selección discriminada de los integrantes de la combinación léxica especializada. Teniendo en cuenta las anteriores hipótesis, esta investigación ha delimitado y caracterizado el segmento léxico objeto de estudio: la ‘combinación léxica especializada (CLE)’ formalmente representada por la estructura sintáctica [adjR+n], en donde adjR es el adjetivo y n el sustantivo al que acompaña. De igual forma hemos descrito el marco teórico desde el que abordar nuestro análisis. Se trata de la teoría del Lexicón Generatvio (LG) y de la representación semántica (Pustojovsky, 1995) que propone como explicación de la generación de significados. Hemos analizado las distintas estructuras de representación léxica y en especial la estructura qualia a través de la cual hemos identificado la relación semántica que mantienen los dos ítems léxicos [adjR+n] de la estructura sintáctica de nuestro estudio. El estudio semántico de las dos piezas léxicas ha permitido, además, comprobar el valor denominativo del adjetivo en la combinación. Ha sido necesario elaborar un corpus de textos escritos en inglés y español pertenecientes al discurso de especialidad de las TIC. Este material ha sido procesado para nuestros fines utilizando distintas herramientas electrónicas. Se ha hecho uso de lexicones electrónicos, diccionarios online generales y de especialidad y corpus de referencia online, estos últimos para poder eventualmente validad nuetros datos. Asimismo se han utilizado motores de búsqueda, entre ellos WordNet Search 3.1, para obtener la información semántica de nuestros elementos léxicos. Nuestras conclusiones han corroborado las hipótesis que se planteaban en esta tesis, en especial la referente al valor denominativo-conceptual del adjetivo relacional el cual, junto con el sustantivo al que acompaña, forma parte de la representación cognitiva del lenguaje de especialidad de las TIC. Como continuación a este estudio se proponen sugerencias sobre líneas futuras de investigación así como el diseño de herramientas informáticas que pudieran incorporar estos datos semánticos como complemento de los ítems léxicos dotados de valor denominativo-conceptual. ABSTRACT This research falls within the field of the so-called Specialized Languages which for the purpose of this study is the Information and Communication Technology (ICT) discourse. Considering their several distinguishing features terminology concentrates our interest from the point of view of linguistics. It is broadly assumed that terms represent concepts of a subject field. For the classical view of terminology (Wüster, 1968) these terms are formally represented by nouns. Both lexicology and terminology have made significant contributions to the study of terms. Later research as well as other theories on Terminology such as the Communicative Theory of Terminology (Cabré, 1993) have shown that other lexical units can also represent knowledge organization. On these bases, we have focused our research on the relational adjective which represents a functional unit different from a noun while still connected to the noun by means of its nominal root. This may have a potential terminological interest. Therefore the present research is based on the next hypotheses: 1. The relational adjective conveys specialized information when combined with the noun. 2. The relational adjective has a semantic meaning which helps understand the conceptual relationship between the adjective and the noun being modified and disambiguate certain senses of the resulting lexical combination. 3. The relational adjective may impose some restrictions when choosing the nouns it modifies. Considering the above hypotheses, this study has identified and described a multi-word lexical unit pattern [Radj+n] referred to as a Specialized Lexical Combination (SLC) linguistically realized by a relational adjective, Radj, and a noun, n. The analysis of such a syntactic pattern is addressed from the framework of the Generative Lexicon (Pustojovsky, 1995). Such theory provides several levels of semantic description which help lexical decomposition performed generatively. These levels of semantic representation are connected through generative operations or generative devices which account for the compositional interpretation of any linguistic utterance in a given context. This study analyses these different levels and focuses on one of them, i.e. the qualia structure since it may encode the conceptual meaning of the syntactic pattern [Radj+n]. The semantic study of these two lexical items has ultimately confirmed the conceptual meaning of the relational adjective. A corpus made of online ICT articles from magazines written in English and Spanish – some being their translations - has been used for the word extraction. For this purpose some word processing software packages have been employed. Moreover online general language and specialized language dictionaries have been consulted. Search engines, namely WordNet Search 3.1, have been also exploited to find the semantic information of our lexical units. Online reference corpora in English and Spanish have been used for a contrastive analysis of our data. Finally our conclusions have confirmed our initial hypotheses, i.e. relational adjectives are specialized lexical units which together with the nouns are part of the knowledge representation of the ICT subject field. Proposals for new research have been made together with some other suggestions for the design of computer applications to visually show the conceptual meaning of certain lexical units.