skip to main content
10.1145/158511.158628acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
Article
Free Access

Graph types

Published:01 March 1993Publication History

ABSTRACT

Recursive data structures are abstractions of simple records and pointers. They impose a shape invariant, which is verified at compile-time and exploited to automatically generate code for building, copying, comparing, and traversing values without loss of efficiency. However, such values are always tree shaped, which is a major obstacle to practical use.

We propose a notion of graph types, which allow common shapes, such as doubly-linked lists or threaded trees, to be expressed concisely and efficiently. We define regular languages of routing expressions to specify relative addresses of extra pointers in a canonical spanning tree. An efficient algorithm for computing such addresses is developed. We employ a second-order monadic logic to decide well-formedness of graph type specifications. This logic can also be used for automated reasoning about pointer structures.

References

  1. 1.H. Ait-Kaci and R. Nasr. Logic and inheritance. In Proc. 13th A CM Syrup. on Princ. of Program. ruing Languages, pages 219-228, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2.H. Ait-Kaci and R. Nasr. Login: A logic programming language with built-in inheritance. Journal of Logic Programming, 3:185-215, 1986. Journal version of {1}. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3.H. Ai't-Kaci and A. Podelski. Towards a meaning of life. In Jan Maluszyfiski and Martin Wirsing, editors, Proceedings of the 3rd International Symposium on Programming Language Implementation and Logic Programming (Passau, Germany), pages 255-274. Springer-Verlag, LNCS 528, August 1991.Google ScholarGoogle ScholarCross RefCross Ref
  4. 4.B. Courcelle. The monadic second-order logic of graphs I. Recognizable sets of finite graphs. Information and computation, 85:12-75, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5.J. DSrre and W.C Rounds. On subsumption and semiunification in feature algebras. In Proc. IEEE Symp. on Logics in Computer Science, pages 300-310, 1990.Google ScholarGoogle Scholar
  6. 6.L. Hendren, J. Hummel, and A. Nicolau. Abstractions for recursive pointer data structures: Improving the analysis and transformation of imperative programs. In Proc. SIGPLAN'g2 Conference on Programming Language Design and Implementation, pages 249-260. ACM, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7.C.A.R. Hoare. Reeursive data structures. In~ernational Journal of Computer and Information Sciences, 4:2:105-132, 1975.Google ScholarGoogle ScholarCross RefCross Ref
  8. 8.Robin Milner, Mads Torte, and Robert Harper. The Definition of Standard ML. MIT Press, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 9.T. Reps. Incremental evaluation for attribute grammars with unrestricted movement between tree modifications. Acta Informa~ica, 25, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 10.D.A. Turner. Miranda: A non-strict functional language with polymorphie types. In Proc. Conference on Functional Programming Languages and Computer Architecture, pages 1-16. Springer- Verlag (LNCS 201), 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Graph types

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in
          • Published in

            cover image ACM Conferences
            POPL '93: Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
            March 1993
            510 pages
            ISBN:0897915607
            DOI:10.1145/158511

            Copyright © 1993 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 1 March 1993

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • Article

            Acceptance Rates

            POPL '93 Paper Acceptance Rate39of199submissions,20%Overall Acceptance Rate824of4,130submissions,20%

            Upcoming Conference

            POPL '25

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader