7 resultados para DECLARATIONS
em Universidad Politécnica de Madrid
Resumo:
We describe lpdoc, a tool which generates documentation manuals automatically from one or more logic program source files, written in Ciao, ISO-Prolog, and other (C)LP languages. It is particularly useful for documenting library modules, for which it automatically generates a rich description of the module interface. However, it can also be used quite successfully to document full applications. A fundamental advantage of using lpdoc is that it helps maintaining a true correspondence between the program and its documentation, and also identifying precisely to what versión of the program a given printed manual corresponds. The quality of the documentation generated can be greatly enhanced by including within the program text assertions (declarations with types, modes, etc. ...) for the predicates in the program, and machine-readable comments. One of the main novelties of lpdoc is that these assertions and comments are written using the Ciao system asseriion language, which is also the language of communication between the compiler and the user and between the components of the compiler. This allows a significant synergy among specification, debugging, documentation, optimization, etc. A simple compatibility library allows conventional (C)LP systems to ignore these assertions and comments and treat normally programs documented in this way. The documentation can be generated interactively from emacs or from the command line, in many formats including texinfo, dvi, ps, pdf, info, ascii, html/css, Unix nroff/man, Windows help, etc., and can include bibliographic citations and images, lpdoc can also genérate "man" pages (Unix man page format), nicely formatted plain ASCII "readme" files, installation scripts useful when the manuals are included in software distributions, brief descriptions in html/css or info formats suitable for inclusión in on-line Índices of manuals, and even complete WWW and info sites containing on-line catalogs of documents and software distributions. The lpdoc manual, all other Ciao system manuals, and parts of this paper are generated by lpdoc.
Resumo:
Global data-flow analysis of (constraint) logic programs, which is generally based on abstract interpretation [7], is reaching a comparatively high level of maturity. A natural question is whether it is time for its routine incorporation in standard compilers, something which, beyond a few experimental systems, has not happened to date. Such incorporation arguably makes good sense only if: • the range of applications of global analysis is large enough to justify the additional complication in the compiler, and • global analysis technology can deal with all the features of "practical" languages (e.g., the ISO-Prolog built-ins) and "scales up" for large programs. We present a tutorial overview of a number of concepts and techniques directly related to the issues above, with special emphasis on the first one. In particular, we concéntrate on novel uses of global analysis during program development and debugging, rather than on the more traditional application área of program optimization. The idea of using abstract interpretation for validation and diagnosis has been studied in the context of imperative programming [2] and also of logic programming. The latter work includes issues such as using approximations to reduce the burden posed on programmers by declarative debuggers [6, 3] and automatically generating and checking assertions [4, 5] (which includes the more traditional type checking of strongly typed languages, such as Gódel or Mercury [1, 8, 9]) We also review some solutions for scalability including modular analysis, incremental analysis, and widening. Finally, we discuss solutions for dealing with meta-predicates, side-effects, delay declarations, constraints, dynamic predicates, and other such features which may appear in practical languages. In the discussion we will draw both from the literature and from our experience and that of others in the development and use of the CIAO system analyzer. In order to emphasize the practical aspects of the solutions discussed, the presentation of several concepts will be illustrated by examples run on the CIAO system, which makes extensive use of global analysis and assertions.
Resumo:
We describe lpdoc, a tool which generates documentation manuals automatically from one or more logic program source files, written in ISO-Prolog, Ciao, and other (C)LP languages. It is particularly useful for documenting library modules, for which it automatically generates a rich description of the module interface. However, it can also be used quite successfully to document full applications. A fundamental advantage of using lpdoc is that it helps maintaining a true correspondence between the program and its documentation, and also identifying precisely to what version of the program a given printed manual corresponds. The quality of the documentation generated can be greatly enhanced by including within the program text assertions (declarations with types, modes, etc.) for the predicates in the program, and machine-readable comments. One of the main novelties of lpdoc is that these assertions and comments are written using the Ciao system assertion language, which is also the language of communication between the compiler and the user and between the components of the compiler. This allows a significant synergy among specification, documentation, optimization, etc. A simple compatibility library allows conventional (C)LP systems to ignore these assertions and comments and treat normally programs documented in this way. The documentation can be generated in many formats including texinfo, dvi, ps, pdf, info, html/css, Unix nroff/man, Windows help, etc., and can include bibliographic citations and images. lpdoc can also generate “man” pages (Unix man page format), nicely formatted plain ascii “readme” files, installation scripts useful when the manuals are included in software distributions, brief descriptions in html/css or info formats suitable for inclusion in on-line indices of manuals, and even complete WWW and info sites containing on-line catalogs of documents and software distributions. The lpdoc manual, all other Ciao system manuals, and parts of this paper are generated by lpdoc.
Resumo:
We describe lpdoc, a tool which generates documentation manuals automatically from one or more logic program source files, written in ISO-Prolog, Ciao, and other (C)LP languages. It is particularly useful for documenting library modules, for which it automatically generates a rich description of the module interface. However, it can also be used quite successfully to document full applications. The documentation can be generated in many formats including t e x i n f o, dvi, ps, pdf, inf o, html/css, Unix nrof f/man, Windows help, etc., and can include bibliographic citations and images, lpdoc can also genérate "man" pages (Unix man page format), nicely formatted plain ascii "readme" files, installation scripts useful when the manuals are included in software distributions, brief descriptions in html/css or inf o formats suitable for inclusión in on-line Índices of manuals, and even complete WWW and inf o sites containing on-line catalogs of documents and software distributions. A fundamental advantage of using lpdoc is that it helps maintaining a true correspondence between the program and its documentation, and also identifying precisely to what versión of the program a given printed manual corresponds. The quality of the documentation generated can be greatly enhanced by including within the program text assertions (declarations with types, modes, etc. ...) for the predicates in the program, and machine-readable comments. These assertions and comments are written using the Ciao system assertion language. A simple compatibility library allows conventional (C)LP systems to ignore these assertions and comments and treat normally programs documented in this way. The lpdoc manual, all other Ciao system manuals, and most of this paper, are generated by lpdoc.
Resumo:
There have been several previous proposals for the integration of Object Oriented Programming features into Logic Programming, resulting in much support theory and several language proposals. However, none of these proposals seem to have made it into the mainstream. Perhaps one of the reasons for these is that the resulting languages depart too much from the standard logic programming languages to entice the average Prolog programmer. Another reason may be that most of what can be done with object-oriented programming can already be done in Prolog through the meta- and higher-order programming facilities that the language includes, albeit sometimes in a more cumbersome way. In light of this, in this paper we propose an alternative solution which is driven by two main objectives. The first one is to include only those characteristics of object-oriented programming which are cumbersome to implement in standard Prolog systems. The second one is to do this in such a way that there is minimum impact on the syntax and complexity of the language, i.e., to introduce the minimum number of new constructs, declarations, and concepts to be learned. Finally, we would like the implementation to be as straightforward as possible, ideally based on simple source to source expansions.
Resumo:
Este texto hace una síntesis de los principales argumentos encontrados en la doctrina y jurisprudencia nacional e internacional que se esgrimen a favor de una mayor exigibilidad de los derechos económicos, sociales y culturales. Se profundiza en el concepto y fundamento de estos derechos, para a continuación repasar algunos ámbitos de exigibilidad: la Constitución, las normas internacionales, la doctrina y labor de las Instituciones de Derechos Humanos, y las declaraciones de Naciones Unidas. Para concluir, se aportan ejemplos de algunos tribunales que han entrado a conocer acerca de los derechos DESC. Abstract: This text is a summary of the main reasons found in the legal doctrine and national and international jurisprudence to justify a greater enforcement of economic, social and cultural rights. It analyzes the concept of such rights, then go over some areas of enforcement: the Constitution, international standards, doctrine and work of National Human Rights Institutions and UN declarations. Finally, we provide examples of some courts that have come to know about ESC rights.
Resumo:
La construcción es uno de los causantes de mayor impacto ambiental y energético en el entorno. Por ello, los profesionales del sector deben empezar a cambiar la manera en la que diseñan la arquitectura, incorporando técnicas y parámetros sostenibles desde las primeras etapas del diseño, controlando la elección de los materiales y las soluciones constructivas. A través de las Declaraciones Ambientales de Producto (DAP) es posible conocer el perfil ambiental de los productos de la construcción, sin embargo, la mayoría de estos documentos solo poseen información de la etapa de producto (A1-A3) y de la etapa de fin de vida, contemplando solo un tipo de tratamiento (vertedero o incineración). Lo que propone esta investigación es generar información medioambiental del resto de las etapas del ciclo de vida relacionado con el producto, haciendo especial hincapié en la etapa de transporte (A4), puesta en obra (A5), transporte de obra a planta de tratamiento (C2) y etapa de fin de vida con vertedero e incineración. Para la realización de la investigación se ha generado un Inventario de Ciclo de Vida (ICV) con valores medios facilitados por las empresas. El ámbito de actuación es la península ibérica, considerándose un transporte en camión. La evaluación ambiental se ha realizado con la herramienta informática SimaPro (versión 7.3.3). Para los procesos que no han podido ser modelizados por falta de información, se ha recurrido a la base de datos Ecoinvent (versión 2.0). Las categorías de impacto analizadas son las contempladas en la UNE-EN ISO 15804+A1. Con esta investigación se propone una catalogación medioambiental del material de aislamiento térmico según los impactos asociados al transporte, puesta en obra y fin de vida del producto para que el prescriptor pueda escoger qué material es el más adecuado a incorporar en el proyecto, desde el punto de vista medioambiental. ABSTRACT _ Construction is one of the main causes of environmental and energy impacts in the environment. Therefore, the professionals of the sector should begin changing the way they design architecture, incorporating sustainable techniques and parameters from the first design stages, controlling the choice of materials and building solutions. It is possible to know the environmental profile of construction products through Environmental Product Declarations (EPD). However, most of these documents only provide information for the product stage (A1-A3) and the end-of-life stage, taking into account only one type of treatment (landfill or incineration). This research proposes the generation of environmental information for the rest of the life cycle stages related to the product, with particular emphasis on the transportstage (A4), construction installation (A5), transport from the construction site to the recycling facilities (C2) and end-of-life stage with landfill and incineration. A Life Cycle Inventory (LCI) has been generated for the development of the research, with mean values provided by the firms. The scope of action is the Iberian Peninsula, considering transport by lorry. The environmental assessment has been carried out with the SimaPro software (version 7.3.3). The Ecoinvent database (version 2.0) has been used for the processes that couldn’t be modelled due to lack of information. The impact categories analysed are those considered in standard UNE-EN ISO 15804+A1. This research proposes an environmental cataloguing of the thermal insulation material depending on the impacts associated with transport, construction installation and end-of-life of the product so that the prescriber might choose which material is the most suitable to implement in the project from an environmental point of view.