skip to main content
10.1145/2628136.2628162acmconferencesArticle/Chapter ViewAbstractPublication PagesicfpConference Proceedingsconference-collections
research-article

Romeo: a system for more flexible binding-safe programming

Published:19 August 2014Publication History

ABSTRACT

Current languages for safely manipulating values with names only support term languages with simple binding syntax. As a result, no tools exist to safely manipulate code written in those languages for which name problems are the most challenging. We address this problem with Romeo, a language that respects α-equivalence on its values, and which has access to a rich specification language for binding, inspired by attribute grammars. Our work has the complex-binding support of David Herman's λm, but is a full-fledged binding-safe language like Pure FreshML.

References

  1. B. E. Aydemir et al. Mechanized metatheory for the masses: The PoplMark challenge. In Proceedings of the 18th International Conference on Theorem Proving in Higher Order Logics, TPHOLs'05, pages 50--65, Berlin, Heidelberg, 2005. Springer-Verlag. ISBN 3-540-28372-2, 978-3-540-28372-0. URL http://dx.doi.org/10.1007/11541868_4. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. W. Clinger and J. Rees. Macros that work. In Proceedings of the 18th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL '91, pages 155--162, New York, NY, USA, 1991. ACM. ISBN 0-89791-419-8. URL http://doi.acm.org/10.1145/99583.99607. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. R. K. Dybvig, R. Hieb, and C. Bruggeman. Syntactic abstraction in scheme. Lisp Symb. Comput., 5 (4): 295--326, Dec. 1992. ISSN 0892-4635. URL http://dx.doi.org/10.1007/BF01806308. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. S. Erdweg, T. van der Storm, and Y. Dai. Capture-avoiding and hygienic program transformations. In Proceedings of the 28th European Conference on Object-Oriented Programming. To appear.Google ScholarGoogle Scholar
  5. S. E. Ganz, A. Sabry, and W. Taha. Macros as multi-stage computations: type-safe, generative, binding macros in MacroML. ACM SIGPLAN Notices, 36 (10): 74-74--85-85, Oct. 2001. ISSN 0362-1340. URL http://portal.acm.org/citation.cfm?id=507669.507646. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. D. Hendriks and V. van Oostrom. Adbmal. In F. Baader, editor, Automated Deduction - CADE-19, volume 2741 of Lecture Notes in Computer Science, pages 136--150. Springer Berlin Heidelberg, 2003. ISBN 978-3-540-40559-7. URL http://dx.doi.org/10.1007/978-3-540-45085-6_11.Google ScholarGoogle Scholar
  7. D. Herman. A Theory of Typed Hygienic Macros. Ph.D. thesis, Northeastern University, 2010. URL http://www.ccs.neu.edu/home/dherman/research/papers/dissertation.pdf Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. D. Herman and M. Wand. A theory of hygienic macros. In Proceedings of the Theory and Practice of Software, 17th European Conference on Programming Languages and Systems, ESOP'08/ETAPS'08, pages 48--62, Berlin, Heidelberg, 2008. Springer-Verlag. URL http://dx.doi.org/10.1007/978-3-540-78739-6_4. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. L. D. Moura and N. Bjørner. Z3: An efficient SMT solver. Tools and Algorithms for the Construction and Analysis of Systems SE - 24, 4963: 337--340, 2008. URL http://dx.doi.org/10.1007/978-3-540-78800-3_24. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. F. Muehlboeck. Checking Binding Hygiene Statically. Master's thesis, Northeastern University, 2013. URL http://hdl.handle.net/2047/d20003134.Google ScholarGoogle Scholar
  11. R. Pollack, M. Sato, and W. Ricciotti. A canonical locally named representation of binding. J. Autom. Reason., 49 (2): 185--207, Aug. 2012. ISSN 0168-7433. URL http://dx.doi.org/10.1007/s10817-011-9229-y. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. F. Pottier. An overview of Cαml. Electronic Notes in Theoretical Computer Science, 148 (2): 27--52, 2006. URL http://www.sciencedirect.com/science/article/pii/S1571066106001253. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. F. Pottier. Static name control for FreshML. In Proceedings of the 22nd Annual IEEE Symposium on Logic in Computer Science, LICS '07, pages 356--365, Washington, DC, USA, 2007. IEEE Computer Society. ISBN 0-7695-2908-9. URL http://dx.doi.org/10.1109/LICS.2007.44. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. N. Pouillard and F. Pottier. A fresh look at programming with names and binders. In Proceedings of the 15th ACM SIGPLAN International Conference on Functional Programming, ICFP '10, pages 217--228, New York, NY, USA, 2010. ACM. ISBN 978-1-60558-794-3. URL http://doi.acm.org/10.1145/1863543.1863575. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. N. Pouillard and F. Pottier. A unified treatment of syntax with binders. Journal of Functional Programming, 22 (4-5): 614--704, Sept. 2012. URL http://dx.doi.org/10.1017/S0956796812000251. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. P. Sewell et al. Ott: Effective tool support for the working semanticist. J. Funct. Program., 20 (1): 71--122, Jan. 2010. ISSN 0956-7968. URL http://dx.doi.org/10.1017/S0956796809990293. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. C. Urban. Nominal techniques in Isabelle/HOL. J. Autom. Reason., 40 (4): 327--356, May 2008. ISSN 0168-7433. URL http://dx.doi.org/10.1007/s10817-008-9097-2. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Romeo: a system for more flexible binding-safe programming

      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
        ICFP '14: Proceedings of the 19th ACM SIGPLAN international conference on Functional programming
        August 2014
        390 pages
        ISBN:9781450328739
        DOI:10.1145/2628136

        Copyright © 2014 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 the author(s) 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: 19 August 2014

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        ICFP '14 Paper Acceptance Rate28of85submissions,33%Overall Acceptance Rate333of1,064submissions,31%

        Upcoming Conference

        ICFP '24

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader