| J. Welsh. Economic range checks in Pascal. Software--Practice and Experience, 8:85--97, 1978. |
....for several reasons. It supported clean and useful control structures and data structures. It is a small enough language, and was specified precisely enough (in informal prose) 16] that people could understand what Pascal programs should do. But Pascal still has ambiguities and insecurities [46]. That is, the language definition is ambiguous about the meaning of certain constructs (and different compilers give different results on the same program) and the language is insecure: it is not safe in the sense described by Hoare. ML is not only secure, it is also unambiguously defined. The ....
....should note that, even though some of the criticisms are minor and not of much theoretical interest, they all affect the usability of the language. Those theorists who anticipate designing a language themselves someday might want to remember this critique, along with the classics of the genre[13, 46]. Acknowledgment I would like to thank Doug McIlroy and an anonymous referee for many valuable comments. ....
J. Welsh, W. J. Sneeringer, and C. A. R. Hoare. Ambiguities and insecurities in Pascal. Software--- Practice and Experience, 7(6):685--96, 1977.
.... of values of datatypes are based on the basic rules of formation and acess to values of type sum (Figure 5) These type rules do not allow invalis access to components of values of variant types, as is possible, for example, in the case of access to components of variant records in Pascal [WSH77] 3.1.4 Recursive Types The definition of the datatype tree presented above is recursive, since tree occurs in its own definition. In general, in ML a datatype datatype dt = k 1 of 1 j : j kn of n is recursive if dt occurs in i , for some 1 i n. As ML, several languages support the ....
J. Welsh, W. Sneeringer, and C.A.R. Hoare. Ambiguities and insecurities in pascal. Software-Practice and Experience, 7(6):685--696, 1977. 26
....all Emerald arrays have flexible bounds. Emerald types never depend on ordinary non type values; this is not because we do not believe that it is useful to specify the range of an integer variable, but because we regard the enforcement of such a specification as range checking, not type checking [Welsh 78] Emerald also lacks an explicit notion of class. However, Emerald types induce a classification on Emerald objects: all objects that have a given type have an important property in common. Moreover, the conformity relation between types defines a lattice structure that is similar to a multiple ....
J. Welsh. Economic range checks in Pascal. Software --- Practice and Experience, 8:85--97, 1978. 20
....language had to be either C or Pascal, since they are the only languages most widely known by undergraduates. Although Pascal is more widely used and is simpler than C, implementing SUIT in Pascal was not technologically feasible. Pascal exists on all three platforms, but it varies widely [Welsh]. Also, standard Pascal is not powerful enough to support the external control model: it lacks the ability to store function addresses as variables. Therefore, we chose ANSI C. Our operating system dependency was very small: we only needed to be able to read and write an ASCII text file, and the ....
Welsh, J., Ambiguities and Insecurities in Pascal, Software - Practice and Experience 7, 1977, pp. 685-696.
....Below, we propose a solution for the treatment of this sort of comments. Note that we do not consider the case were comments may appear inside lexical tokens as in, e.g. Algol68. One approach to solve the problem of restoring comments is to attach them to nodes in the abstract syntax tree [RW81] During formatting, the comments are regenerated when processing the node in question. This method is also used in the CENTAUR system [BCD 89, Bor89] Unfortunately, there is no unique and completely satisfactory method to determine to which node the comment should be attached. For instance, ....
G. A. Rose and J. Welsh. Formatted Programming Languages. Software---practice and experience, 11:651--669, 1981.
....of subrange types. Also, it calls for overflow checks in connection with arithmetic operations. Of course, these checks cause run time overhead; it is therefore a good idea to eliminate at compile time all checks that can be proved to be redundant, and there is quite some literature on this [Har77, SI77, Wel78, MCM82, Gup90, Asu92, Gup93]. The techniques used in these papers are variants of standard optimisation techniques such as common subexpression elimination, constant propagation and loop invariant code motion. There is a fine line between the theoretically possible and the practically feasible. For instance, SI77] use a ....
....that due to range information can no longer be taken. The paper by Suzuki and Ishihata [SI77] from the same year as Harrison s uses a theorem prover to compute range information on variables at the source language level. This obviously is far too expensive from a practical point of view. Welsh [Wel78] therefore, reacting to Suzuki and Ishihata s paper, proposes the elimination of range checks on the source program level by casting induction variables to appropriate subrange types, thereby reducing the range check problem to a type check problem. The objective of Markstein et al. MCM82] is to ....
[Article contains additional citation context not shown here]
Jim Welsh. Economic range checks in Pascal. Software: Practice and Experience, 8:85--97, 1978.
....Pascal leaves loopholes in strong type specification by not requiring the full type of procedures passed as parameters to be specified, and by allowing the tag field of variant records to be independently manipulated. The ambiguities and insecurities of the Pascal type system are discussed in [Welsh 77] Algol 68 has a more rigorous notion of type than Pascal, with a well defined notion of type equivalence (structural equivalence) The notion of type (mode in Algol 68) is extended to include procedures as first class values. Primitive modes include int, real, char, bool, string, bits, bytes, ....
J.Welsh, W.J.Sneeringer, C.A.R.Hoare: Ambiguities and insecurities in Pascal, Software Practice and Experience, November 1977.
....software development tools has been in progress at the University of Queensland for some time. This started with the investigation of language based editors which put specific emphasis on perusal support via structured displays, adaptive formatting, abstraction and detail suppression [12, 13, 14], and on editing support which combines the recognition editing paradigm with the reduced input effort and language help normally associated with tree oriented editing [13, 15, 10] Following early prototypes of the features, second phase investigations have significantly improved the display and ....
G. A. Rose and J. Welsh. Formatted programming languages. Software---Practice and Experience, 11:651--69, 1981.
....bad practice has been compared by Hoare to a pilot who wears a parachute while walking on the ground but takes it off as soon as he gets into the air. It is therefore a good idea to eliminate at compile time all checks that can be proved to be redundant, and there is quite some literature on this [Har77, SI77, Wel78, MCM82, Gup90, Asu92, Gup93]. The techniques used in these papers are variants of standard optimisation techniques such as common subexpression elimination, constant propagation and loop invariant code motion. There is a fine line between the theoretically possible and the practically feasible. For instance, SI77] use a ....
....and automatically generated range checking code. The paper by Suzuki and Ishihata [SI77] from the same year as Harrison s uses a theorem prover to compute range information on variables at the source language level. This obviously is far too expensive from a practical point of view. Welsh [Wel78] therefore, reacting to Suzuki and Ishihata s paper, proposes the elimination of range checks on the source program level by casting induction variables to appropriate subrange types, thereby reducing the range check problem to a type check problem. The objective of Markstein et al. MCM82] is to ....
[Article contains additional citation context not shown here]
Jim Welsh. Economic range checks in Pascal. Software: Practice and Experience, 8:85--97, 1978.
....of subrange types. Also, it calls for overflow checks in connection with arithmetic operations. Of course, these checks cause run time overhead; it is therefore a good idea to eliminate at compile time all checks that can be proved to be redundant, and there is quite some literature on this [10, 16, 17, 12, 8, 1, 9, 11]. The techniques used in these papers are variants of standard optimisation techniques such as common subexpression elimination, constant propagation and loopinvariant code motion. There is a fine line between the theoretically possible and the practically feasible. For instance, 16] use a ....
....that due to range information can no longer be taken. The paper by Suzuki and Ishihata [16] from the same year as Harrison s uses a theorem prover to compute range information on variables at the source language level. This obviously is far too expensive from a practical point of view. Welsh [17] therefore, reacting to Suzuki and Ishihata s paper, proposes the elimination of range checks on the source program level by casting induction variables to appropriate subrange types, thereby reducing the range check problem to a type check problem. The objective of Markstein et al. 12] is to ....
[Article contains additional citation context not shown here]
Jim Welsh. Economic range checks in Pascal. Software: Practice and Experience, Volume 8, pages 85--97, 1978.
No context found.
J. Welsh. Economic range checks in Pascal. Software--Practice and Experience, 8:85--97, 1978.
No context found.
J. Welsh. Economic range checks in pascal. Software-Practice and Experience, 8:85-97, 1978.
No context found.
J. Welsh. Economic range checks in Pascal. Software-Practice and Experience, 8:85-97, 1978.
No context found.
J. Welsh, W.J. Sneering, and C.A.R. Hoare. Ambiguities and insecurities in pascal. Software Practice and Experience, pages 685 -- 696, 1977.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC