Results 1 -
8 of
8
Squeak: a Language for Communicating with Mice
- Computer Graphics
, 1985
"... Graphical user interfaces are difficult to implement because of the essential concurrency among multiple interaction devices, such as mice, buttons, and keyboards. Squeak is a user interface implementation language that exploits this concurrency rather than hiding it, helping the programmer to expre ..."
Abstract
-
Cited by 48 (4 self)
- Add to MetaCart
Graphical user interfaces are difficult to implement because of the essential concurrency among multiple interaction devices, such as mice, buttons, and keyboards. Squeak is a user interface implementation language that exploits this concurrency rather than hiding it, helping the programmer to express interactions using multiple devices. We present the motivation, design and semantics of squeak . The language is based on concurrent programming constructs but can be compiled into a conventional sequential language; our implementation generates C code. We discuss how squeak programs can be integrated into a graphics system written in a conventional language to implement large but regular user interfaces, and close with a description of the formal semantics. CR Categories: I3.6 Graphics languages, Interaction techniques D3.1 Formal semantics CR General Terms: Algorithms, Theory, Languages Additional Keywords: Concurrency, User Interfaces Introduction User interface implementation languag...
Code-Generation On-the-Fly: A Key to Portable Software
, 1994
"... A technique for representing programs abstractly and independently of the eventual target architecture is presented that yields a file representation twice as compact as machine code for a CISC processor. It forms the basis of an implementation, in which the process of code generation is deferred ..."
Abstract
-
Cited by 48 (19 self)
- Add to MetaCart
A technique for representing programs abstractly and independently of the eventual target architecture is presented that yields a file representation twice as compact as machine code for a CISC processor. It forms the basis of an implementation, in which the process of code generation is deferred until the time of loading. At that point, native code is created on_the_fly by a code_generating loader. The process of loading with dynamic code_generation is so fast that it requires little more time than the input of equivalent native code from a disk storage medium. This is predominantly due to the compactness of the abstract program representation, which allows to counterbalance the ad...
A Fortran-to-C converter
- AT&T Bell Laboratories
, 1992
"... We describe f 2c, a program that translates Fortran 77 into C or C++. F 2c lets one portably mix C and Fortran and makes a large body of well-tested Fortran source code available to C environments. 1. ..."
Abstract
-
Cited by 34 (0 self)
- Add to MetaCart
We describe f 2c, a program that translates Fortran 77 into C or C++. F 2c lets one portably mix C and Fortran and makes a large body of well-tested Fortran source code available to C environments. 1.
Delivering the Benefits of Persistence to System Construction and Execution
, 1992
"... In an orthogonally persistent programming system the longevity of data is independent of its other attributes. The advantages of persistence may be seen primarily in the areas of data modelling and protection resulting from simpler semantics and reduced complexity. These have been verified by the fi ..."
Abstract
-
Cited by 18 (5 self)
- Add to MetaCart
In an orthogonally persistent programming system the longevity of data is independent of its other attributes. The advantages of persistence may be seen primarily in the areas of data modelling and protection resulting from simpler semantics and reduced complexity. These have been verified by the first implementations of persistent languages, typically consisting of a persistent store, a run-time system and a compiler that produces programs that may access and manipulate the persistent environment. This thesis demonstrates that persistence can deliver many further benefits to the programming process when applied to software construction and execution. To support the thesis, a persistent environment has been extended with all the components necessary to support program construction and execution entirely within the persistent environment. This is the first known example of a strongly-typed integrated persistent programming environment. The keystone of this work is the construction of ...
Technological Steps toward a Software Component Industry
- in J. Gutknecht (Ed.), Programming Languages and System Architectures, Springer Lecture Notes in Computer Science
, 1994
"... . A machine_independent abstract program representation is presented that is twice as compact as machine code for a CISC processor. It forms the basis of an implementation, in which the process of code generation is deferred until the time of loading. Separate compilation of program modules with typ ..."
Abstract
-
Cited by 9 (5 self)
- Add to MetaCart
. A machine_independent abstract program representation is presented that is twice as compact as machine code for a CISC processor. It forms the basis of an implementation, in which the process of code generation is deferred until the time of loading. Separate compilation of program modules with type_safe interfaces, and dynamic loading (with code generation) on a per_module basis are both supported. To users of the implemented system, working with modules in the abstract representation is as convenient as working with native object_files, although it leads to several new capabilities. The combination of portability with practicality denotes a step toward a software component industry. 1. Introduction The rapid evolution of hardware technology is constantly influencing software development, for better as well as for worse. On the downside, faster hardware can conceal the complexity and cost of badly_designed programs; Reiser [Rei89] is not far off the mark in observing that s...
On-line approximate string searching algorithms: survey and experimental results
- International Journal of Computer Mathematics
, 2002
"... The problem of approximate string searching comprises two classes of problems: string searching with k mismatches and string searching with k differences. In this paper we present a short survey and experimental results for well known sequential approximate string searching algorithms. We consider a ..."
Abstract
-
Cited by 7 (5 self)
- Add to MetaCart
The problem of approximate string searching comprises two classes of problems: string searching with k mismatches and string searching with k differences. In this paper we present a short survey and experimental results for well known sequential approximate string searching algorithms. We consider algorithms based on different approaches including dynamic programming, deterministic finite automata, filtering, counting and bit parallelism. We compare these algorithms in terms of running time against pattern length and for several values of k for four different kinds of text: binary alphabet, alphabet of size 8, English alphabet and DNA alphabet. Finally, we compare the experimental results of the algorithms with their theoretical complexities.
A Fortran to C Converter
- BELL LABORATORIES, COMPUTER SCIENCE
, 1993
"... We describe f 2c, a program that translates Fortran 77 into C or C++. F2c lets one portably mix C and Fortran and makes a large body of well-tested Fortran source code available to C environments. ..."
Abstract
-
Cited by 6 (0 self)
- Add to MetaCart
We describe f 2c, a program that translates Fortran 77 into C or C++. F2c lets one portably mix C and Fortran and makes a large body of well-tested Fortran source code available to C environments.
Metaobject Protocols For Distributed Programming
, 1998
"... This DEA internship report proposes a study and a classification of best known Metaobject Protocols (MOPs). Far from being totally exhaustive, it explains the nowadays motivation and use of MOPs by practical examples in many application areas. These examples naturally lead to distinguish different k ..."
Abstract
- Add to MetaCart
This DEA internship report proposes a study and a classification of best known Metaobject Protocols (MOPs). Far from being totally exhaustive, it explains the nowadays motivation and use of MOPs by practical examples in many application areas. These examples naturally lead to distinguish different kinds of use of MOPs techniques and also, as one can expect, different kinds of implementation. These functional and implementational differences allow us to classify MOPs in two large families: behavioral and structural oriented MOPs. The former is mainly used to deal with behavioral issues and is mostly used in system approaches. The later is more used in approaches consisting in controlling languages and structural features. This classification naturally leads to the idea that, to efficiently build effective object-oriented distributed applications, we should be able to consistently use those two approaches within the same development process, and even within the same system. This is the ...

