1 |
Polyfun : an experimental approach to the integration of functional and logic programmingStanley, Adrian January 1989 (has links)
No description available.
|
2 |
Computational models for declarative languages and their formal specifications in CSPLee, M. K. O. January 1986 (has links)
No description available.
|
3 |
The semantics and implementation of occamBarrett, Geoff January 1988 (has links)
No description available.
|
4 |
The design and implementation of a concurrent programming language for large grain MIMD computersChan, C. Y. January 1988 (has links)
No description available.
|
5 |
Language definition and compiler writing : The correctness of an applicative language systemDollin, C. J. January 1984 (has links)
No description available.
|
6 |
The preservation of the environmentPadget, Julian Alexander January 1984 (has links)
A new binding model which permits the capture of both dynamically and statically scoped environments is presented. The basis of the model is the technique of environment labelling. The practical side of this work has been carried out in the context of the programming language LISP. Various timing tests have been run and the new scheme compares favourably with the existing environment models and variations on them. To date the two main approaches to environment representation, shallow and deep binding, have suffered from each having just one strength. Deep binding is efficient at context switching whilst shallow binding is good at variable access. This new model attempts to provide both these facilities at comparable efficiency. Consequently, the user is now given direct access to the environment from the programming language allowing the construction of continuations which radically enhances the expressive power available. Many Interesting algorithms which were previously impossible because environments were allocated on a stack are now opened to Investigation. The thesis finishes with a discussion of some suitable topics where this approach may be applied.
|
7 |
Logical Aspects of Regular LanguagesDashkovsky, Boris January 1999 (has links)
A thorough review of selected results on the logical aspects of regular languages includes the theorem of Büchi on monadic second order logic over strings, a characterization of FO[<l and the theorem of 1. Simon. With the help of the Ehrenfeucht-Fraïssé Game we show that :J(k+ltsentences of FO[<1 cannot be expressed as a boolean combination of :J(ktsentences. Block product of finite monoids is used to analyze languages defined by the boolean closure of the 2::2-sentences. Positive varieties and the Mal'cev product are introduced and 2::n +l n IIn+l is shown to be equal to the unambiguous polynomial closure of the nth level of the Straubing-Thérien hierarchy. In particular, 2:: 2 n II2 = VA, where VA is the smallest variety of languages closed under the unambiguous product. / Nous proposons un aperçu complet de résultats choisis concernant les aspects logiques des langages réguliers incluant le théorème de Büchi sur la logique monadique de second ordre sur les chaînes de caractères, la caractérisation de FO[<J et le théorème de 1. Simon. Grâce au jeu de Ehrenfeucht-Fraïssé, nous démontrons que, dans FO[<J, les énoncés logiques 3(k+1) ne peuvent être exprimés comme une combinaison booléene d'énoncés 3(k). Nous utilisons le produit bloc de monoïdes finis pour analyser les langages définis par la fermeture booléene des énoncés 2:: 2 • Nous présentons également les variétés positives et le produit de Mal'cev et montrons que 2::n +1 n IIn+1 est égal à la fermeture polynomiale non-ambigue du nième niveau de la hiérarchie de StraubingThérien. En particulier, 2:: 2 n II2 = VA, où VA est la plus petite variété de langages fermée sous le produit non-ambigu fr
|
8 |
The generation of concurrent code for declarative languagesRothwell, Nicholas John January 1986 (has links)
This thesis presents an approach to the implementation of declarative languages on a simple, general purpose concurrent architecture. The safe exploitation of the available concurrency is managed by relatively sophisticated code generation techniques to transform programs into an intermediate concurrent machine code. Compilation techniques are discussed for 1'-HYBRID, a strongly typed applicative language, and for 'c-HYBRID, a concurrent, nondeterministic logic language. An approach is presented for 1'- HYBRID whereby the style of programming influences the concurrency utilised when a program executes. Code transformation techniques are presented which generalise tail-recursion optimisation, allowing many recursive functions to be modelled by perpetual processes. A scheme is also presented to allow parallelism to be increased by the use of local declarations, and constrained by the use of special forms of identity function. In order to preserve determinism in the language, a novel fault handling mechanism is used, whereby exceptions generated at run-time are treated as a special class of values within the language. A description is given of ,C-HYBRID, a dialect of the nondeterministic logic language Concurrent Prolog. The language is embedded within the applicative language 1'-HYBRID, yielding a combined applicative and logic programming language. Various cross-calling techniques are described, including the use of applicative scoping rules to allow local logical assertions. A description is given of a polymorphic typechecking algorithm for logic programs, which allows different instances of clauses to unify objects of different types. The concept of a method is derived to allow unification Information to be passed as an implicit argument to clauses which require it. In addition, the typechecking algorithm permits higher-order objects such as functions to be passed within arguments to clauses. Using Concurrent Prolog's model of concurrency, techniques are described which permit compilation of 'c-HYBRID programs to abstract machine code derived from that used for the applicative language. The use of methods allows polymorphic logic programs to execute without the need for run-time type information in data structures.
|
9 |
Logical Aspects of Regular LanguagesDashkovsky, Boris January 1999 (has links)
No description available.
|
10 |
Design and implementation of a language for manipulating algebraic formulaeOfficer, J. M. January 1972 (has links)
This thesis explores the possibilities of doing mathematical problems involving algebra on a computer. A language is designed which allows names to occur as unknown quantities. This language has all the facilities of a general purpose language such as IMP, but is designed to be used inter-actively by a user at a console. The language also includes instructions which cause the usual algebraic operations to be applied to expressions. These operators include simplification, differentiation, but not integration. A brief survey is given of other languages in the field, with comments on their capabilities and restrictions. The second part of the thesis describes how the language is implemented. An interpreter is used. Statements of the language are analysed syntactically and then obeyed. Algebraic expressions are stored in byte arrays, using a type of prefix Polish notation. Finally the language is reviewed in the light of recent work done in the field, and suggestions are made for a further version.
|
Page generated in 0.0654 seconds