93 research outputs found
Foundations of Programming Languages
This clearly written textbook provides an accessible introduction to the three programming paradigms of object-oriented/imperative, functional, and logic programming. Highly interactive in style, the text encourages learning through practice, offering test exercises for each topic covered. Review questions and programming projects are also presented, to help reinforce the concepts outside of the classroom. This updated and revised new edition features new material on the Java implementation of the JCoCo virtual machine
Investigations in computer-aided design for numerically controlled production
Final technical report;"May 1968"--Cover. "Advanced Fabrication Techniques Branch, Manufacturing Technology Division, Air Force Materials Laboratory, Air Force Systems Command, Wright-Patterson Air Force Base, Ohio"--Cover. Errata sheet inserted.Includes bibliographical references.MMP Project. 8-236 United States Air Force. AF-33(600)-40604 AF-33(600)-42859 AF-33(657)-10954D.T. Ross and J.E. Ward
Advanced data management system analysis techniques study
The state of the art of system analysis is reviewed, emphasizing data management. Analytic, hardware, and software techniques are described
Topics in Programming Languages, a Philosophical Analysis through the case of Prolog
[EN]Programming languages seldom find proper anchorage in philosophy of logic, language and science. is more, philosophy of language seems to be restricted to natural languages and linguistics, and even philosophy of logic is rarely framed into programming languages topics. The logic programming paradigm and Prolog are, thus, the most adequate paradigm and programming language to work on this subject, combining natural language processing and linguistics, logic programming and constriction methodology on both algorithms and procedures, on an overall philosophizing declarative status. Not only this, but the dimension of the Fifth Generation Computer system related to strong Al wherein Prolog took a major role. and its historical frame in the very crucial dialectic between procedural and declarative paradigms, structuralist and empiricist biases, serves, in exemplar form, to treat straight ahead philosophy of logic, language and science in the contemporaneous age as well.
In recounting Prolog's philosophical, mechanical and algorithmic harbingers, the opportunity is open to various routes. We herein shall exemplify some:
- the mechanical-computational background explored by Pascal, Leibniz, Boole, Jacquard, Babbage, Konrad Zuse, until reaching to the ACE (Alan Turing) and EDVAC (von Neumann), offering the backbone in computer architecture, and the work of Turing, Church, Gödel, Kleene, von Neumann, Shannon, and others on computability, in parallel lines, throughly studied in detail, permit us to interpret ahead the evolving realm of programming languages. The proper line from lambda-calculus, to the Algol-family, the declarative and procedural split with the C language and Prolog, and the ensuing branching and programming languages explosion and further delimitation, are thereupon inspected as to relate them with the proper syntax, semantics and philosophical élan of logic programming and Prolog
Data layout types : a type-based approach to automatic data layout transformations for improved SIMD vectorisation
The increasing complexity of modern hardware requires sophisticated programming
techniques for programs to run efficiently. At the same time, increased power of
modern hardware enables more advanced analyses to be included in compilers. This
thesis focuses on one particular optimisation technique that improves utilisation
of vector units. The foundation of this technique is the ability to chose memory
mappings for data structures of a given program.
Usually programming languages use a fixed layout for logical data structures
in physical memory. Such a static mapping often has a negative effect on usability
of vector units. In this thesis we consider a compiler for a programming language
that allows every data structure in a program to have its own data layout. We
make sure that data layouts across the program are sound, and most importantly
we solve a problem of automatic data layout reconstruction. To consistently do this,
we formulate this as a type inference problem, where type encodes a data layout
for a given structure as well as implied program transformations. We prove that
type-implied transformations preserve semantics of the original programs and we
demonstrate significant performance improvements when targeting SIMD-capable
architectures
Microcomputer Based Simulation
Digital simulation is a useful tool in many scientific areas.
Interactive simulation can provide the user with a better appreciation
of a problem area. With the introduction of large scale integrated
circuits and in particular the advent of the microprocessor, a large
amount of computing power is available at low cost. The aim of
this project therefore was to investigate the feasibility of producing
a minimum cost, easy to use, interactive digital simulation system.
A hardware microcomputer system was constructed to test simulation
program concepts and an interactive program was designed and developed
for this system. By the use of a set of commands and subsequent
interactive dialogue, the program allows the user to enter and perform
simulation tasks. The simulation program is unusual in that it does
not require a sophisticated operating system or other system programs
such as compilers. The program does not require any backup memory
devices such as magnetic disc or tape and indeed could be stored in
ROM or EPROM. The program is designed to be flexible and extendable
and could be easily modified to run with a variety of hardware configurations.
The highly interactive nature of the system means that
its operation requires very little programming experience.
The microcomputer hardware system uses two microprocessors
together with specially designed interfaces. One was dedicated to
the implementation of the simulation equations, and the other
provided an input/output capability including a low cost CRT display
- …