4 resultados para 220300 PHILOSOPHY
em Universidad Politécnica de Madrid
Resumo:
We describe some of the novel aspects and motivations behind the design and implementation of the Ciao multiparadigm programming system. An important aspect of Ciao is that it provides the programmer with a large number of useful features from different programming paradigms and styles, and that the use of each of these features can be turned on and off at will for each program module. Thus, a given module may be using e.g. higher order functions and constraints, while another module may be using objects, predicates, and concurrency. Furthermore, the language is designed to be extensible in a simple and modular way. Another important aspect of Ciao is its programming environment, which provides a powerful preprocessor (with an associated assertion language) capable of statically finding non-trivial bugs, verifying that programs comply with specifications, and performing many types of program optimizations. Such optimizations produce code that is highly competitive with other dynamic languages or, when the highest levéis of optimization are used, even that of static languages, all while retaining the interactive development environment of a dynamic language. The environment also includes a powerful auto-documenter. The paper provides an informal overview of the language and program development environment. It aims at illustrating the design philosophy rather than at being exhaustive, which would be impossible in the format of a paper, pointing instead to the existing literature on the system.
Resumo:
We provide an overall description of the Ciao multiparadigm programming system emphasizing some of the novel aspects and motivations behind its design and implementation. An important aspect of Ciao is that, in addition to supporting logic programming (and, in particular, Prolog), it provides the programmer with a large number of useful features from different programming paradigms and styles and that the use of each of these features (including those of Prolog) can be turned on and off at will for each program module. Thus, a given module may be using, e.g., higher order functions and constraints, while another module may be using assignment, predicates, Prolog meta-programming, and concurrency. Furthermore, the language is designed to be extensible in a simple and modular way. Another important aspect of Ciao is its programming environment, which provides a powerful preprocessor (with an associated assertion language) capable of statically finding non-trivial bugs, verifying that programs comply with specifications, and performing many types of optimizations (including automatic parallelization). Such optimizations produce code that is highly competitive with other dynamic languages or, with the (experimental) optimizing compiler, even that of static languages, all while retaining the flexibility and interactive development of a dynamic language. This compilation architecture supports modularity and separate compilation throughout. The environment also includes a powerful autodocumenter and a unit testing framework, both closely integrated with the assertion system. The paper provides an informal overview of the language and program development environment. It aims at illustrating the design philosophy rather than at being exhaustive, which would be impossible in a single journal paper, pointing instead to previous Ciao literature.
Resumo:
Our intention in this note is not to provide a listing of the many features of the Ciao system: this can be found in part for example in the brochures announcing upcoming versions, in the Ciao website, or in more feature-oriented descriptions such as. Instead in this document we would like to describe the objectives and reasoning followed in our design as well as the fundamental characteristics that in our opinion make Ciao quite unique and hopefully really useful to you as a Ciao user.
Resumo:
A theory is developed of an electrostatic probe in a fully-ionized plasma in the presence of a strong magnetic field. The ratio of electron Larmor radius to probe transverse dimension is assumed to be small. Poisson's equation, together with kinetic equations for ions and electrons are considered. An asymptotic perturbation method of multiple scales is used by considering the characteristic lengths appearing in the problem. The leading behavior of the solution is found. The results obtained appear to apply to weaker fields also, agreeing with the solutions known in the limit of no magnetic field. The range of potentials for wich results are presented is limited. The basic effects produced by the field are a depletion of the plasma near the probe and a non-monotonic potential surrounding the probe. The ion saturation current is not changed but changes appear in both the floating potential Vf and the slope of the current-voltage diagram at Vf. The transition region extends beyond the space potential Vs,at wich point the current is largely reduced. The diagram does not have an exponential form in this region as commonly assumed. There exists saturation in electron collection. The extent to which the plasma is disturbed is determined. A cylindrical probe has no solution because of a logarithmic singularity at infinity. Extensions of the theory are considered.