| Erik Barendsen and Sjaak Smetsers. Conventional and uniqueness typing in graph rewrite systems (extended abstract) . In Thirteenth Conference on the Foundations of Software Technology and Theoretical Computer Science, pages 41--51, Bombay, 1993. In Shyamasundar, ed., SpringerVerlag, LNCS 761. |
....Our next step is to implement our analysis in the Glasgow Haskell compiler, allowing us to compare it directly with Marlow s. By observing how our analysis performs on real programs we can test whether omitting zero usages has a significantly impact. Concurrent Clean s uniqueness types [BS93] are related to our call by need analysis since they are proved sound with respect to a graph reduction semantics which correctly models the sharing of reductions that occur in an implementation. However, uniqueness types are designed to deal with data structure update, rather than program ....
....to settle for a call by name analysis. 8. 4 Data structure update A number of analyses for in place update of data structures have been proposed, including those by Schmidt [Sch85] Hudak [Hud86] Baker [Bak90] Guzm an and Hudak [GH90] 33 Wadler [Wad90b, Wad91] and Barendsen and Smetsers [BS93]. In such analyses it is sufficient to check that there can be at most one live pointer to a data structure. For example, in the following expression the then and else clauses can only be executed after the predicate p(x) has evaluated to a boolean. But a boolean cannot contain a reference to ....
E. Barendsen, and S. Smetsers. Conventional and Uniqueness Typing in Graph Rewrite Systems (extended abstract). In Proceedings 13th Conference on the Foundations of Software Technology and Theoretical Computer Science, Springer-Verlag LNCS 761, 1993.
....regions for safe explicit deallocation [3, 19] Region annotations on types are one particular kind of predicate, stating that the named region must not be freed in order to access the data. A related approach to tracking individual objects is present in the programming language Concurrent Clean [2]. Concurrent Clean uses unique types to represent unaliased objects. Operations such as array updates may be performed destructively on objects of unique type even in a purely functional language, since the modification cannot be distinguished from a copy. Clean s unique types correspond to ....
E. Barendsen and J. Smetsers. Conventional and uniqueness typing in graph rewrite systems. In 13th Conference on Foundations of Software Technology and Theoretical Computer Science, LNCS 761, pages 41--51, Dec. 1993.
....or describe intensional features of functional programs are either unconvincing or use type systems which are only loosely inspired by linear logic. Systems in the last category can, pragmatically, be extremely successful; the most obvious example being the language CLEAN. The type system of CLEAN [BS93] incorporates a uniqueness operator for (roughly) making non linear types linear. This is in some sense dual to the of linear logic, which allows linear types to be treated non linearly. Unique types in CLEAN are used to add destructive updates and I O to the language in a clean (referentially ....
E. Barendsen and S. Smetsers. Conventional and uniqueness typing in graph rewrite systems. Technical Report CSI-R9328, Katholieke Universiteit Nijmegen, December 1993.
....(e.g. fold and unfold) are sucient to do some programming tasks, but are by no means complete. 6. 2 Related Work Our type system builds upon foundational work by other groups on syntactic control of interference [31] linear logic [13] and linear type systems in functional programming languages [20, 42, 1, 15, 3, 8, 40]. Our research also has much in common with e orts to de ne program logics for reasoning about aliasing [6, 9, 26, 32, 17] In particular, if we view propositions as types, there are striking similarities with recent work by Reynolds [32] who builds on earlier research by Burstall [6] Reynolds ....
Erik Barendsen and Sjaak Smetsers. Conventional and uniqueness typing in graph rewrite systems (extended abstract). In Thirteenth Conference on the Foundations of Software Technology and Theoretical Computer Science, pages 41-51, Bombay, 1993. In Shyamasundar, ed., Springer-Verlag, LNCS 761.
....Baker [Bak92, Bak94] has developed a simple untyped language where there is exactly one pointer to each storage cell, and demonstrated that such a language can have substantially improved performance over more traditional languages for small algorithms such as quicksort. Barendsen and Smetsers [BS93] have developed a complex type system and type reconstruction algorithm for socalled uniqueness types which possess exactly one pointer to them, and this type system has been applied to structure IO operations in the lazy functional language Clean by Achten and Plasmeijer [AP95] Benton s mixed ....
Erik Barendsen and Sjaak Smetsers. Conventional and uniqueness typing in graph rewrite systems. In Proceedings of the 13th Conference on the Foundations of Software Techology and Theoretical Computer Science, number 761 in LNCS. Springer-Verlag, 1993. (Technical report version).
....provides complete aliasing information for each object that plays that role in addition to specifying roles for the fields of the object, the role declaration also identifies the complete set of references in the heap that refer to the object. In this way roles generalize linear type systems [45, 2, 30] by allowing multiple aliases to be statically tracked, and extend alias types [42, 46] with the ability to specify roles of objects that are the source of aliases. This approach attacks a key difficulty associated with state based type systems: the need to ensure that any state change performed ....
Barendsen and J. E. W. Smetsers. Conventional and uniqueness typing in graph rewrite systems. In Proceedings of the 13th Conference on the Foundations of Software Technology and Theoretical Computer Science 1993.
....provides complete aliasing information for each object that plays that role in addition to specifying roles for the elds of the object, the role declaration also identi es the complete set of references in the heap that refer to the object. In this way roles generalize linear type systems [45, 2, 30] by allowing multiple aliases to be statically tracked, and extend alias types [42, 46] with the ability to specify roles of objects that are the source of aliases. This approach attacks a key diculty associated with state based type systems: the need to ensure that any state change performed ....
Barendsen and J. E. W. Smetsers. Conventional and uniqueness typing in graph rewrite systems. In Proceedings of the 13th Conference on the Foundations of Software Technology and Theoretical Computer Science 1993.
....FUTURE WORK This paper draws together two di erent branches of type theory designed for managing computer resources. Research on linear types originated with Girard s linear logic [11] and Reynolds syntactic control of interference [24] Linear type systems were later studied by many researchers [19, 30, 1, 3, 6, 29, 34, 15]. Type and e ect systems were introduced by Gi ord and Lucassen [10] and they too have been explored by many others [17, 26, 28, 21] More recently, a number of new linear type systems, or more generally, substructural type theories, have been developed such as Kobayashi s quasi linear types ....
Erik Barendsen and Sjaak Smetsers. Conventional and uniqueness typing in graph rewrite systems (extended abstract). In Shyamasundar, editor, Thirteenth Conference on the Foundations of Software Technology and Theoretical Computer Science, volume 761 of Lecture Notes in Computer Science, pages 41-51, Bombay, 1993. Springer-Verlag.
....based on building points to style graphs. These analyses achieve greater precision, and allocate more objects on the stack, at the expense of a much more complex analysis. Direct use of alias and points to analysis [CWZ90, Deu90, Hic93, JM81, SF96, VHU92] and other miscellaneous techniques [Bar77, BS93, JM90, JL89, Sch75] have also been considered for compiletime garbage collection. These analyses are generally expensive and their e#ectiveness is unclear. Dolby and Chien s object inlining techniques [DC98] can also be applied to stack allocation, but the details are only alluded to. The ....
E. Barendsen and S. Smetsers. Conventional and uniqueness typing in graph rewrite systems. In Rudrapatna K. Shyamasundar, editor, Proceedings of Foundations of Software Technology and Theoretical Computer Science, volume 761 of LNCS, pages 41--51, Bombay, India, December 1993. Springer-Verlag.
....provides complete aliasing information for each object that plays that role in addition to specifying roles for the elds of the object, the role declaration also identi es the complete set of references in the heap that refer to the object. In this way roles generalize linear type systems [45, 2, 30] by allowing multiple aliases to be statically tracked, and extend alias types [42, 46] with the ability to specify roles of objects that are the source of aliases. This approach attacks a key diculty associated with state based type systems: the need to ensure that any state change performed ....
Barendsen and J. E. W. Smetsers. Conventional and uniqueness typing in graph rewrite systems. In Proceedings of the 13th Conference on the Foundations of Software Technology and Theoretical Computer Science. Springer-Verlag, 1993.
....provides complete aliasing information for each object that plays that role in addition to specifying roles for the elds of the object, the role declaration also identi es the complete set of references in the heap that refer to the object. In this way roles generalize linear type systems [87, 6, 56] by allowing multiple aliases to be statically tracked, and extend alias types [82, 88] with the ability to specify roles of objects that are the source of aliases. This approach attacks a key diculty associated with state based type systems: the need to ensure that any state change performed ....
Barendsen and J. E. W. Smetsers. Conventional and uniqueness typing in graph rewrite systems. In Proceedings of the 13th Conference on the Foundations of Software Technology and Theoretical Computer Science
....a theorem prover into our language in order to decide the validity of the logical formulae. 6. 2 Related Work Our type system builds upon foundational work by other groups on syntactic control of interference [31] linear logic [13] and linear type systems in functional programming languages [20, 42, 1, 15, 3, 8, 40]. Our research also has much in common with efforts to define program logics for reasoning about aliasing [6, 9, 26, 32, 17] In particular, if we view propositions as types, there are striking similarities with recent work by Reynolds [32] who builds on earlier research by Burstall [6] ....
Erik Barendsen and Sjaak Smetsers. Conventional and uniqueness typing in graph rewrite systems (extended abstract). In Thirteenth Conference on the Foundations of Software Technology and Theoretical Computer Science, pages 41--51, Bombay, 1993. In Shyamasundar, ed., Springer-Verlag, LNCS 761.
....Main f 1 # # f n the intended interpretation is (f 1 # # f n ) In, Out] The solution put forward in the functional language Clean is to use a typing system that guarantees that the I O channels are never duplicated. For this purpose a so called uniqueness typing system is designed, see [14, 15], that is related to linear logic (see [50] Once this is done, one can improve the way in which parts of the world are used explicitly. A representation of all aspects of the world can be incorporated in lambda calculus. Instead of having just [In, Out] the world can now be extended to include ....
E. Barendsen and J. E. W. Smetsers, Conventional and uniqueness typing in graph rewrite systems (extended abstract), 1993, in [105], pp. 41--51.
....Many implementation related properties of such languages can be handily investigated with them, since they have an explicit notion of sharing and cycles. We will also discuss typing and the subject reduction property in the framework of TGRS s. The brief overview presented here is based on [3] and [2]. Graphs: A graph g is a pair hrjGi, where G is a set of node speci cations of the form x = S y . This is a representation of directed graphs. The nodes (e.g. x, y i or r) are from a set of variables, with labels (e.g. S) attached to them. The labels are symbol s, e.g. function or data ....
....left hand side G l and the right hand side G r of a rewrite rule might overlap. The pattern subgraph G l must be such that there is a (breadth rst) ordering of the node speci cations in which all left hand side variables appear after their single right hand side occurrences (cf. left linear in [2]) Furthermore, in G l , apart from the root node speci cation l = F x (where F is a function symbol) the labels of the nodes must be data constructor symbols. Finally, the free variables of G r must occur in G l , as well. Rewriting: If we have a graph g = htjGi and an applicable rewrite ....
[Article contains additional citation context not shown here]
Barendsen, E., Smetsers, S.: Conventional and Uniqueness Typing in Graph Rewrite Systems. Computing Science Institute, University of Nijmegen, The Netherlands, Technical report CSI-R9328, December 1993.
....functional data structures, it also limits the use of linear values. For example, x is used twice in the following expression: let x = #1, 2# in let y = fst(x) in let z = snd(x) in y z. Therefore, x cannot be given a linear type, and consequently, cannot be deallocated early. Several authors [26, 9, 3] have extended pure linear type systems to allow greater flexibility. However, most of these e#orts have focused on high level user programming languages and as a result, they have emphasized simple typing rules that programmers can understand and or typing rules that admit e#ective type inference ....
....#;C; # # # ifnull v then #1 else #2 Fig. 5. Language of Locations: Extensions for option types 5 Related and Future Work Our research extends previous work on linear type systems [26] and syntactic control of interference [16] by allowing both aliasing and safe deallocation. Several authors [26, 3, 9] have explored alternatives to pure linear type systems to allow greater flexibility. Wadler [26] for example, introduced a new let form let (x) y = e 1 in e 2 that permits the variable x to be used as a non linear value in e 1 (i.e. it can be used many times, albeit in a restricted fashion) and ....
Erik Barendsen and Sjaak Smetsers. Conventional and uniqueness typing in graph rewrite systems (extended abstract). In Thirteenth Conference on the Foundations of Software Technology and Theoretical Computer Science, pages 41--51, Bombay, 1993. In Shyamasundar, ed., Springer-Verlag, LNCS 761.
....can automatically find out which value is linear in the relaxed sense. Promising results were obtained from preliminary experiments with the prototype system. 1 Introduction 1. 1 Linear types A number of type systems based on Girard s linear logic [6] have been proposed for functional languages [1, 3, 13, 21] and concurrent languages [9, 12] They guarantee that certain data structures (called linear values) are accessed just once (or at most once) The distinction between linear values 3 This is a revised version of the technical report TR98 02 from Department of Information Science, University of ....
....we know for sure the real impact of our analysis only after more serious experiments are carried out (for that purpose, some of the future work described in Section 9 must be completed) 8 Related Work 8. 1 Previous linear type systems To our knowledge, among previous linear type systems [3, 9, 21] that can automatically infer the usage of values, only Barendsen and Smetsers s uniqueness typing [3] takes an evaluation order into account. The effect of taking an evaluation order into account sometimes depends on a programming style, but it is evident at least for the following functions: ....
[Article contains additional citation context not shown here]
Erik Barendsen and Sjaak Smetsers. Conventional and uniqueness typing in graph rewrite systems. Technical Report CSI-R9328, Computer Science Institute, University of Nijmegen, 1993. An extended abstract appeared in Proc. of FST&TCS 12, Springer LNCS 761, pp.41-51.
....traversals of large data structures, via a compilation technique described in [19] It can facilitate deforestation (and other transformations) that impose a linearity restriction [20] often for efficiency and or termination reasons. It can improve opportunity for uniqueness typing [1], which is good for storage overwriting and other optimisations. Because of these nice performance attributes, functional programmers often go out of their way to write such tupled functions, despite them being more awkward, error prone and harder to write and read. In this paper, we have shown ....
E. Barendsen and J.E.W. Smetsers. Conventional and uniqueness typing in graph rewrite systems. In 13th Conference on the Foundations of Software Technology & Theoretical Computer Science, pages 45--51, Bombay, India, December 1993.
....of large data structures, via a compilation technique described in [Spa93] ffl It can facilitate deforestation (and other transformations) that impose a linearity restriction [Wad88] used for efficiency and or termination reasons. ffl It can improve opportunity for uniqueness typing [BS93] which is good for storage overwriting and other optimisations. Because of these nice performance attributes, functional programmers often go out of their way to write such tupled functions, despite them being more awkward, error prone and harder to write and read. It is hoped that this burden ....
E. Barendsen and J.E.W. Smetsers. Conventional and uniqueness typing in graph rewrite systems. In 13th Conference on the Foundations of Software Technology & Theoretical Computer Science, pages 45--51, Bombay, India, December 1993.
.... it a unique solution in the range of functional I O systems (see Section 6 for a discussion of other systems) In a nutshell these are: The Clean programming language employs the type system, the uniqueness type system, to guarantee that functions have single threaded access to arguments [21] [5] [6] This makes it possible to deal with side effects in a flexible way without sacrificing the purity of the language. Based on the uniqueness type system the I O system of Clean can use the world as value paradigm. This paradigm is explained in detail in [1] Briefly, every interactive ....
Barendsen, E. and Smetsers, J.E.W. Conventional and Uniqueness Typing in Graph Rewrite Systems (extended abstract). In Shyamasundar, R.K. ed. Proceedings of the Thirteenth Conference on the Foundations of Software Technology and Theoretical Computer Science, 1517 December 1993, Bombay, India. LNCS 761, SpringerVerlag, Berlin, pp. 41-51.
No context found.
Erik Barendsen and Sjaak Smetsers. Conventional and uniqueness typing in graph rewrite systems (extended abstract) . In Thirteenth Conference on the Foundations of Software Technology and Theoretical Computer Science, pages 41--51, Bombay, 1993. In Shyamasundar, ed., SpringerVerlag, LNCS 761.
No context found.
Erik Barendsen and Sjaak Smetsers. Conventional and uniqueness typing in graph rewrite systems (extended abstract). In Thirteenth Conference on the Foundations of Software Technology and Theoretical Computer Science, pages 41--51, Bombay, 1993. In Shyamasundar, ed., Springer-Verlag, LNCS 761.
No context found.
Erik Barendsen and Sjaak Smetsers. Conventional and uniqueness typing in graph rewrite systems (extended abstract) . In Thirteenth Conference on the Foundations of Software Technology and Theoretical Computer Science, pages 41--51, Bombay, 1993. In Shyamasundar, ed., SpringerVerlag, LNCS 761.
No context found.
E. Barendsen and S. Smetsers. Conventional and uniqueness typing in graph rewrite systems. Technical Report CSI-R9328, Computer Science Institute, University of Nijmegen, 1993. An extended abstract appeared in Proc. of FST&TCS 12, Springer LNCS 761, pp.41-51.
No context found.
Barendsen, E. and Smetsers, J.E.W. Conventional and Uniqueness Typing in Graph Rewrite Systems (extended abstract). In Shyamasundar, R.K. ed. Proceedings of the Thirteenth Conference on the Foundations of Software Technology and Theoretical Computer Science, 15-17 December 1993, Bombay, India. LNCS 761, SpringerVerlag, Berlin, pp. 41-51.
No context found.
E. Barendsen and J. E. W. Smetsers. Conventional and uniqueness typing in graph rewriting. In Proceedings of the 13th Conference on the Foundations of Software Technology and Theoretical Computer Science, Lecture Notes in Computer Science 761. Springer-Verlag, 1993. (p. 125)
First 50 documents Next 50
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