The scope rules in programminglanguages control the sharing of data among program units, e.g., blocks and procedures. Typically, scope rules provide an all-or-nothing kind of access control. A wide range of programmi...
详细信息
The scope rules in programminglanguages control the sharing of data among program units, e.g., blocks and procedures. Typically, scope rules provide an all-or-nothing kind of access control. A wide range of programming problems exist which require finer access control as well as considerable sophistication for the implementation of access control policies on high-level data objects such as files. This paper presents a number of language extensions that permit the programmer to specify the degree of access control for each abstract object that a program can manipulate. The number of extensions has been kept as small as possible, while allowing the user to specify conveniently the access control policies that he desires. Some of the extensions permit access policies to be specified such that access correctness can be completely determined at compile time; other extensions permit policies to be specified that require some access checking to be done at run-time in order to ensure access correctness.
Engineers can have instant access tomeasurement toolsin any environment because thesoftware integrates the tools nativelyinto each *** measurement applications in text-based programminglanguages has taken a rather gi...
详细信息
Engineers can have instant access tomeasurement toolsin any environment because thesoftware integrates the tools nativelyinto each *** measurement applications in text-based programminglanguages has taken a rather giant leap forward with the introduction of Measurement Studio. The new software extends the general-purpose Microsoft Visual C++ and Visual Basic environments by adding measurement tools and libraries. These simplify the development of data-acquisition and instrument-control *** Studio from National Instruments (NI) includes user-interface controls, extensive mathematical analysis and signal-processing routines, and high-level data-acquisition and instrument-control I/O libraries for Visual C++ and Visual Basic programmers (Fig. 1). By integrating measurement tools natively into each language, engineers and scientists have instant access to the tools in the programming environment of their choice
An algebraic approach is proposed to modeling of von Neumann programminglanguages, based on a program abstraction which considers the computational and functional properties of the program, data types, allocation of ...
详细信息
An algebraic approach is proposed to modeling of von Neumann programminglanguages, based on a program abstraction which considers the computational and functional properties of the program, data types, allocation of data in the program memory, and data initialization.
This paper contrasts the aspirations of general-purpose programming language designers with some evidence about expert problem-solving and programming behaviour. The contrast is summarized in a rough wish-list of what...
详细信息
This paper contrasts the aspirations of general-purpose programming language designers with some evidence about expert problem-solving and programming behaviour. The contrast is summarized in a rough wish-list of what experts want from general-purpose programminglanguages. The programmers' wish-list differs from the aspirations of language designers less in detail than in emphasis: whereas the designers emphasize well-foundedness and correctness, the expert programmers emphasize utility, control, and efficiency. It is argued that a programming language is a tool, not a panacea;tools make easy the tasks for which they are designed, but the outcome depends on the intention and expertise of the wielder.
This paper presents a tentative theory of programming language expressiveness based on reductions (language translations) that preserve observational equivalence. These are called ''abstraction-preserving'...
详细信息
This paper presents a tentative theory of programming language expressiveness based on reductions (language translations) that preserve observational equivalence. These are called ''abstraction-preserving'' reductions because of a connection with a definition of ''abstraction'' or ''information-hiding'' mechanisms. If there is an abstraction-preserving reduction from one language to another, then (essentially) every function on natural numbers that is definable in the first is also definable in the second. Moreover, an abstraction-preserving reduction must map every abstraction construct in the source language to a construct that hides analogous distinctions in the target language. Several examples and counterexamples to abstraction-preserving reductions are given. It is not known whether any language is universal with respect to abstraction-preserving reduction.
This paper briefly describes the two most popular programminglanguages for artificial intelligence applications: LISP and PROLOG. The capabilities and limitations of each language are reviewed in the context of estab...
详细信息
This paper briefly describes the two most popular programminglanguages for artificial intelligence applications: LISP and PROLOG. The capabilities and limitations of each language are reviewed in the context of establishing the main requirements placed on artificial intelligence languages. The nested interactive array language, NIAL, is introduced as a language that combines logic and functional programming capabilities. Through comparisons with LISP and PROLOG, it is shown that the NIAL system meets the basic requirements for artificial intelligence programming.
The classes of typed and type-free lambda-schemes are studied with respect to their use as control structures of programminglanguages. The semantics of both classes are analyzed in the same semantical domains. In par...
详细信息
The classes of typed and type-free lambda-schemes are studied with respect to their use as control structures of programminglanguages. The semantics of both classes are analyzed in the same semantical domains. In particular, it is shown that typed λ-schemes are translatable into equivalent type-free λ-schemes but not vice versa. Furthermore, we prove that the class of type-free λ-schemes is universal in the sense that in the initial models all recursively enumerable Σ-trees (Σ is the set of operation symbols) are definable.
A denotational semantics is given for a language for distributed programming based on communication (CSP). The semantics uses both linear sequences of communications to record computations and special states, called ...
详细信息
A denotational semantics is given for a language for distributed programming based on communication (CSP). The semantics uses both linear sequences of communications to record computations and special states, called ‘expectation sets’, characterizing potential deadlocks. For any well-formed program segment the semantics is a relation between attainable states and the communication sequences needed to attain these states. In binding two or more processes we match and merge the communication sequences assumed by each process to obtain a sequence and state of the combined process. The approach taken here is distinguished by relatively simple semantic domains and ordering.
Non-strict evaluation improves the expressive power of functional languages at the expense of an apparent loss of efficiency. In this paper we give examples of this expressive power, taking as an example an interactiv...
详细信息
Non-strict evaluation improves the expressive power of functional languages at the expense of an apparent loss of efficiency. In this paper we give examples of this expressive power, taking as an example an interactive functional program and describing the programming techniques depending on non-strict evaluation which improved its design. Implementation methods for non-strict languages have delivered poor performance precisely when such programming techniques have been used. This need not be the case, however, and in the second part of the paper we describe Tim, a method of implementing non-strict languages for which the penalty for using lazy evaluation is very small.
Pattern recognition systems in the artificial intelligence field have been based on the assumption that components of the system should be invoked not by directly calling them, but by running data across their sensors...
详细信息
Pattern recognition systems in the artificial intelligence field have been based on the assumption that components of the system should be invoked not by directly calling them, but by running data across their sensors and having the invocation take place when a defined pattern is found. Most systems programming, however, has taken a completely different route; the emphasis there is on structures of execution and data types. A new approach to systems programminglanguages where a bridge is made between structure and pattern-directed invocation is described. The syntax of pattern-directed invocation, along with the semantics of a support structure for message receiving and sending necessary for pattern-directed invocation of routines is presented. Finally, some conclusions are made about pattern-directed invocation, and further areas of work are stated.
暂无评论