| John M. Lucassen and David K. Gi#ord. Polymorphic e#ect systems. In Proceedings of the Eighteenth Annual ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, January 1988. |
.... operators in the source, such as call cc in Scheme [16] were proposed by Gri#n [12] and incorporated into the New Jersey dialect of Standard ML [9] A further refinement of types is given by type and e#ect systems, as in the FX programming language, which superimposes a type and e#ect [17] discipline on a Scheme like language. While this e#ect system was originally concerned with assignments, Gi#ord and Jouvelot [15] extended it to control e#ects. The output of the CPS transform is highly stylized; some of this can be formalized with types [19] Concretely, if an expression M has ....
John M. Lucassen and David K. Gi#ord. Polymorphic e#ect systems. In Principles of Programming Languages (POPL '88), pages 47--57. ACM, 1988.
.... operational semantics better capture the essence of unfolding and folding: unfolding corresponds to a transition being made in the right direction, folding corresponds to a transition being made Recently, for instance the attempts to integrate functional programming and concurrency (see e.g. LG88] Nie89] BMT92] have renewed the interest in operational semantics for functional languages. 178 in the wrong direction. By using a denotational approach, this cannot be expressed directly (cf. the claims p. 12 and p. 123) Not only total correctness, but also the existence of speedup ....
John M. Lucassen and David K. Gi#ord. Polymorphic e#ect systems. In ACM Symposium on Principles of Programming Languages, pages 47--57, 1988.
....our presentation. As its typing rule speci es, it is applicable to any dynamic value (a syntax tree) and is used to ush the interleaved code by dumping it on top of that syntax tree. Its e ect is empty, 1, since all interleaved code is now part of the dynamic value. As usual in an e ect system [18], each function type carries a latent e ect indicating the e ect that is unleashed when the function is applied. The wellformedness judgement enforces the usual constraints on the binding time an This elimination relies on the fact that there are no e ect variables in the system. A thorough ....
John M. Lucassen and David K. Giord. Polymorphic eect systems. In Proc. 15th Annual ACM Symposium on Principles of Programming Languages, pages 47-57, San Diego, California, January 1988. ACM Press.
....ideas from linear type systems. We use a ow insensitive alias analysis to construct a model of the store. The alias analysis infers an abstract location for the result of each program expression; expressions that evaluate to the same abstract location may be aliased. We use e ect inference [LG88] to calculate the set of abstract locations an expression e might use during e s evaluation. These e ects are used in analyzing function calls and restrict (see below) E ect inference is done simultaneously with alias analysis. We model the state at a program point as an abstract store, which ....
....high level programs. Both of these languages are based on type checking and require programmers to annotate their programs with types. In contrast, we propose a simpler and less expressive monomorphic type system that is designed for ecient type inference. Our system incorporates e ect inference [LG88, Wri92] to gain a measure of polymorphism. The type state system of NIL [SY86] is one of the earliest to incorporate ow sensitive type checking. Xu et al. [XRM01] use a ow sensitive analysis to check type safety of machine code. Type systems developed for Java byte code [SA98, O C99] also ....
John M. Lucassen and David K. Giord. Polymorphic Eect Systems. In Proceedings of the 15th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 47-57, San Diego, California, January 1988.
....The main contributions of this paper are: We formalize restrict, giving it a precise semantics (Section 3) This research was supported in part by NSF CCR 9457812, NASA Contract No. NAG2 1210, NSF CCR 0085949, and DARPA Contract No. F33615 00 C 1693. 1 We give a type and e ect system [LG88] for checking that a restrict annotated program is correct with respect to our semantics (Sections 2 and 3) We present an O(kn n (n) algorithm (Section 4) for type inference, where n is the size of the typed program, k is the number of restrict annotations in the program, and ( is the ....
....conclusion of (Restrict) contains the e ect f g, i.e. restricting a location is itself an e ect. This naturally forbids the following program: restrict y = x in restrict z = x in y The last rule, Down) states that e ects on any non escaping location can be removed from the e ect set [GJLS87, LG88, Cal01] The rule (Down) is the one non syntactic rule in our system. We can construct a purely syntax directed version of our system by incorporating down into the type rules. Lemma 1 A proof of e : L can be rewritten to contain at most one occurrence of (Down) in sequence. Lemma 2 A ....
[Article contains additional citation context not shown here]
John M. Lucassen and David K. Giord. Polymorphic Eect Systems. In Proceedings of the 15th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 47-57, San Diego, California, January 1988.
....by values (more specifically, lock expressions) Apart from this distinction, our class parameterization approach most closely follows that of GJ [BOSW98] in that information about class parameters is not preserved at run time. The lock sets used in our type systems are similar to e#ects [JG91, LG88, Nie96] since the locks held on entry to an expression constrain the e#ects that it may produce. It may be possible to adapt existing techniques for e#ect reconstruction [TT94, TT97, ANN97, TJ92] to our setting to reduce the number of type annotations required. Our type system verifies that ....
John M. Lucassen and David K. Gi#ord. Polymorphic e#ect systems. In Proceedings of the ACM Conference on Lisp and Functional Programming, pages 47--57, 1988.
....to approximate the rst and last use of each region. This is accomplished by approximating what e ects on storage the evaluation of any given subexpression may be. E ect systems have been studied for some time, and in most cases are used to model imperative features and memory behavior of programs [GJLS87, LG88, JG89a, JG89b, JG91, TJ94]. A large body of recent work has studied the inference of data lifetimes using e ect systems in languages based on the Hindley Milner type discipline [TJ92, TT94, AFL95, TT95] These systems are able 4 to approximate data lifetimes, and insert explicit memory allocation and deallocation ....
John M. Lucassen and David K. Giord. Polymorphic eect systems. In Conf. Rec. 15th Ann. ACM Symp. Principles of Programming Languages, pages 47-57, 1988.
....languages. 3.2 Full Alias Encapsulation In recent years there have been a number of proposals to address aliasing in object oriented languages. For example, expressions can be analysed statically to determine their e#ects, described in terms of the memory regions they can change or depend upon [35, 28], whole programs can be analysed directly to detect possible aliasing [26, 10, 22] or hints may be given to the compiler as to probable aliasing invariants [18] Objects can be referred to by tracing paths through programs, rather than by direct pointers, so that aliased objects will always ....
John M. Lucassen and David K. Gi#ord. Polymorphic e#ect systems. In Proceedings of the Eighteenth Annual ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, January 1988.
....[ABHR99] describes the Dependency Core Calculus (DCC) and provides translations into DCC from several dependency based type quali er systems such as [VS97] DCC is one example of a calculus based on monads. Recent work [Kie98, Wad98] has explored the connection between monads and e ect systems [LG88] Some e ect systems can also be expressed as type quali er systems. However, the exact connection between monads, e ect systems, and type quali ers is unclear. Other frameworks choose a di erent design point by providing more powerful annotation languages. For example, Klarlund and ....
John M. Lucassen and David K. Giord. Polymorphic Eect Systems. In Proceedings of the 15th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 47-57, San Diego, California, January 1988.
No context found.
John M. Lucassen and David K. Gi#ord. Polymorphic e#ect systems. In Proceedings of the Eighteenth Annual ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, January 1988.
No context found.
John M. Lucassen and David K. Giord. Polymorphic eect systems. In Principles of Programming Languages (POPL), January 1988.
No context found.
John M. Lucassen and David K. Gi#ord. Polymorphic e#ect systems. pages 47--57. ACM Press, 1988.
No context found.
John M. Lucassen and David K. Gi#ord. Polymorphic E#ect Systems. In Proceedings of the 15th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 47--57, San Diego, California, January 1988.
No context found.
John M. Lucassen and David K. Gi#ord. Polymorphic e#ect systems. In Principles of Programming Languages (POPL), January 1988.
No context found.
John M. Lucassen and David K. Giord. Polymorphic eect systems. In Principles of Programming Languages (POPL), January 1988.
No context found.
John M. Lucassen and David K. Gi#ord. Polymorphic e#ect systems. In Conference Record of the Fifteenth Annual ACM Symposium on Principles of Programming Languages, San Diego, Calif., pages 47--57. ACM, January 1988.
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