Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2364527.2364542acmconferencesArticle/Chapter ViewAbstractPublication PagesicfpConference Proceedingsconference-collections
research-article

Painless programming combining reduction and search: design principles for embedding decision procedures in high-level languages

Published: 09 September 2012 Publication History

Abstract

We describe the Funlogic system which extends a functional language with existentially quantified declarations. An existential declaration introduces a variable and a set of constraints that its value should meet. Existential variables are bound to conforming values by a decision procedure. Funlogic embeds multiple external decision procedures using a common framework. Design principles for embedding decision procedures are developed and illustrated for three different decision procedures from widely varying domains.

References

[1]
V. Balat and O. Danvy. Strong normalization by type-directed partial evaluation and run-time code generation. Lecture Notes in Computer Science, 1473:240--252, 1998. ISSN 0302-9743.
[2]
C. Barrett, M. Deters, A. Oliveras, and A. Stump. Design and results of the 3rd annual satisfiability modulo theories competition (SMT-comp 2007). International Journal on Artificial Intelligence Tools, 17(4): 569--606, 2008.
[3]
G. M. Bierman, A. D. Gordon, C. Hritc, and D. Langworthy. Semantic Subtyping with an SMT Solver. TechReport MSR-TR-2010-99, Microsoft Research, Dec. 2010. URL http://research.microsoft.com/en-us/projects/dminor/.
[4]
B. Braßel, M. Hanus, B. Peemöller, and F. Reck. KiCS2: A new compiler from curry to haskell. In H. Kuchen, editor, WFLP, volume 6816 of Lecture Notes in Computer Science, pages 1--18. Springer, 2011. ISBN 978-3-642-22530-7. URL http://dx.doi.org/10.1007/978-3-642-22531-4.
[5]
J. M. Crawford, M. L. Ginsberg, E. M. Luks, and A. Roy. Symmetry-breaking predicates for search problems. In KR, pages 148--159, 1996.
[6]
O. Danvy, M. Rhiger, and K. H. Rose. Normalization by evaluation with typed abstract syntax. J. Funct. Program, 11(6):673--680, 2001.
[7]
N. A. Day, J. Launchbury, and J. Lewis. Logical abstractions in haskell. In Proceedings of the 1999 Haskell Workshop. Utrecht University Department of Computer Science, Technical Report UU-CS-1999-28, October 1999.
[8]
R. Fourer, D. M. Gay, and B. W. Kernighan. AMPL - A Modeling Language for Mathematical Programming. The Scientific Press, South San Francisco, 1993.
[9]
M. Hanus. Report on Curry (ver.0.8.2). Inst. fur Informatik, Christian-Albrechts Universitat, .de, 2006.
[10]
M. Hermenegildo and T. CLIP Group. An Automatic Documentation Generator for (C)LP - Reference Manual. The Ciao System Documentation Series - TR CLIP5/97.3, Facultad de Informática, UPM, Aug. 1997. URL http://clip.dia.fi.upm.es/Software/Ciao/. Online at http://clip.dia.fi.upm.es/Software/Ciao/.
[11]
D. Jackson. An intermediate design language and its analysis. In Proceedings of the ACM SIGSOFT 6th International Symposium on the Foundations of Software Engineering (FSE-98), volume 23, 6 of Software Engineering Notes, pages 121--130, New York, Nov. 3-5 1998. ACM Press.
[12]
D. Jackson. Software Abstractions: Logic, Language, and Analysis. The MIT Press, Cambridge, Mass., 2006.
[13]
M. P. Jones. Typing Haskell in Haskell. In ACM Haskell Workshop, informal proceedings, Oct. 1999.
[14]
D. Klabjan, R. Fourer, and J. Ma. Algebraic modeling in a deductive database language. In 11th INFORMS Computing Society Conference, 2009.
[15]
A. S. Koksal, V. Kuncak, and P. Suter. Constraints as control. In POPL '12, Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pages 151--164. ACM, 2012.
[16]
V. Kuncak, M. Mayer, R. Piskac, and P. Suter. Software synthesis procedures. Communications of the ACM, 55(2):103--111, Feb. 2012. ISSN 0001-0782 (print), 1557-7317 (electronic).
[17]
N. Linger and T. Sheard. Binding-time analysis for metaML via type inference and constraint solving. In K. Jensen and A. Podelski, editors, TACAS, volume 2988 of Lecture Notes in Computer Science, pages 266--279. Springer, 2004. ISBN 3-540-21299-X.
[18]
T. Mancini. Declarative constraint modelling and specification-level reasoning. Diploma thesis, Universita degli Studi di Roma 'La Sapienza', 2004.
[19]
D. Z. Molham Aref and E. Pasalic. Using optimization services in datalog. In 11th INFORMS Computing Society Conference, 2009.
[20]
M. Novak, G. Gardarin, and P. Valduriez. Flora: A functional-style language for object and relational algebra. Lecture Notes in Computer Science, 856:37--46, 1994. ISSN 0302-9743.
[21]
C. Runciman, M. Naylor, and F. Lindblad. SmallCheck and Lazy SmallCheck: automatic exhaustive testing for small values. ACM SIGPLAN Notices, 44(2):37--48, Feb. 2009. ISSN 0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic).
[22]
T. Sheard and N. Linger. Search-based binding time analysis using type-directed pruning. In ASIA-PEPM, pages 20--31, 2002. URL http://doi.acm.org/10.1145/568173.568176.
[23]
I. Shlyakhter. Generating effective symmetry-breaking predicates for search problems. Discrete Applied Mathematics, 155(12):1539--1548, 2007. URL http://dx.doi.org/10.1016/j.dam.2005.10.018.
[24]
G. Smolka. The definition of kernel oz. Technical report, Saarländische Universitäts- und Landesbibliothek; Sonstige Einrichtungen. DFKI Deutsches Forschungszentrum für Künstliche Intelligenz, 1994. URL urn:nbn:de:bsz:291-scidok-37290.
[25]
G. Sutcliffe and C. B. Suttner. The CADE ATP system competition. In D. A. Basin and M. Rusinowitch, editors, IJCAR, volume 3097 of Lecture Notes in Computer Science, pages 490--491. Springer, 2004. ISBN 3-540-22345-2.
[26]
Taha and Sheard. MetaML and multi-stage programming with explicit annotations. TCS: Theoretical Computer Science, 248, 2000.
[27]
W. Taha and T. Sheard. MetaML and multistage programming with, Feb. 09 1999. URL http://citeseer.ist.psu.edu/516106.html; http://cse.ogi.edu/~walidt/paper-2.ps.
[28]
E. Torlak and D. Jackson. Kodkod: A relational model finder. In O. Grumberg and M. Huth, editors, TACAS, volume 4424 of Lecture Notes in Computer Science, pages 632--647. Springer, 2007. ISBN 978-3-540-71208-4.
[29]
E. Torlak, A. Prof, and D. Jackson. Thesis: A constraint solver for software engineering: Finding models and cores of large relational specifications., Dec. 04 2008. URL http://stuff.mit.edu/people/emina/papers/etorlak-cv.pdf.

Cited By

View all
  • (2019)Language Support for Navigating Architecture Design in Closed FormACM Journal on Emerging Technologies in Computing Systems10.1145/336004716:1(1-28)Online publication date: 25-Oct-2019
  • (2015)Design and Implementation of the LogicBlox SystemProceedings of the 2015 ACM SIGMOD International Conference on Management of Data10.1145/2723372.2742796(1371-1382)Online publication date: 27-May-2015
  • (2015)Component-Based Synthesis of Embedded Systems Using Satisfiability Modulo TheoriesACM Transactions on Design Automation of Electronic Systems10.1145/274623520:4(1-27)Online publication date: 28-Sep-2015
  • Show More Cited By

Index Terms

  1. Painless programming combining reduction and search: design principles for embedding decision procedures in high-level languages

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ICFP '12: Proceedings of the 17th ACM SIGPLAN international conference on Functional programming
    September 2012
    392 pages
    ISBN:9781450310543
    DOI:10.1145/2364527
    • cover image ACM SIGPLAN Notices
      ACM SIGPLAN Notices  Volume 47, Issue 9
      ICFP '12
      September 2012
      368 pages
      ISSN:0362-1340
      EISSN:1558-1160
      DOI:10.1145/2398856
      Issue’s Table of Contents
    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]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 09 September 2012

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. decision procedures
    2. first order logic
    3. search

    Qualifiers

    • Research-article

    Conference

    ICFP'12
    Sponsor:

    Acceptance Rates

    ICFP '12 Paper Acceptance Rate 32 of 88 submissions, 36%;
    Overall Acceptance Rate 333 of 1,064 submissions, 31%

    Upcoming Conference

    ICFP '25
    ACM SIGPLAN International Conference on Functional Programming
    October 12 - 18, 2025
    Singapore , Singapore

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)2
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 15 Oct 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2019)Language Support for Navigating Architecture Design in Closed FormACM Journal on Emerging Technologies in Computing Systems10.1145/336004716:1(1-28)Online publication date: 25-Oct-2019
    • (2015)Design and Implementation of the LogicBlox SystemProceedings of the 2015 ACM SIGMOD International Conference on Management of Data10.1145/2723372.2742796(1371-1382)Online publication date: 27-May-2015
    • (2015)Component-Based Synthesis of Embedded Systems Using Satisfiability Modulo TheoriesACM Transactions on Design Automation of Electronic Systems10.1145/274623520:4(1-27)Online publication date: 28-Sep-2015
    • (2015)Design and Implementation of the LogicBlox SystemProceedings of the 2015 ACM SIGMOD International Conference on Management of Data10.1145/2723372.2742796(1371-1382)Online publication date: 27-May-2015

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media