Home People Publications Talks Teaching Contact Github

Publications - Manuel Krebber

Journal Article

  1. MatchPy: Pattern Matching in Python
    Manuel Krebber and Henrik Barthels
    Journal of Open Source Software, Volume 3(26), pp. 2, June 2018.
    @article{Krebber2018:838,
        author  = "Manuel Krebber and Henrik Barthels",
        title   = "MatchPy: Pattern Matching in Python",
        journal = "Journal of Open Source Software",
        year    = 2018,
        volume  = 3,
        number  = 26,
        pages   = 2,
        month   = jun,
        doi     = "10.21105/joss.00670"
    }
    webbibtexhide

Peer Reviewed Conference Publications

  1. Efficient Pattern Matching in Python
    Manuel Krebber, Henrik Barthels and Paolo Bientinesi
    Proceedings of the 7th Workshop on Python for High-Performance and Scientific Computing, November 2017.
    In conjunction with SC17: The International Conference for High Performance Computing, Networking, Storage and Analysis.
    @inproceedings{Krebber2017:404,
        author    = "Manuel Krebber and Henrik Barthels and Paolo Bientinesi",
        title     = "Efficient Pattern Matching in Python",
        booktitle = "Proceedings of the 7th Workshop on Python for High-Performance and Scientific Computing",
        year      = 2017,
        address   = "Denver, Colorado",
        month     = nov,
        note      = "In conjunction with SC17: The International Conference for High Performance Computing, Networking, Storage and Analysis",
        url       = "https://arxiv.org/pdf/1710.00077.pdf"
    }
    Pattern matching is a powerful tool for symbolic computations. Applications include term rewriting systems, as well as the manipulation of symbolic expressions, abstract syntax trees, and XML and JSON data. It also allows for an intuitive description of algorithms in the form of rewrite rules. We present the open source Python module MatchPy, which offers functionality and expressiveness similar to the pattern matching in Mathematica. In particular, it includes syntactic pattern matching, as well as matching for commutative and/or associative functions, sequence variables, and matching with constraints. MatchPy uses new and improved algorithms to efficiently find matches for large pattern sets by exploiting similarities between patterns. The performance of MatchPy is investigated on several real-world problems.
    abstractwebPDFbibtexhide
  2. MatchPy: A Pattern Matching Library
    Manuel Krebber, Henrik Barthels and Paolo Bientinesi
    Proceedings of the 15th Python in Science Conference, July 2017.
    @inproceedings{Krebber2017:550,
        author    = "Manuel Krebber and Henrik Barthels and Paolo Bientinesi",
        title     = "MatchPy: A Pattern Matching Library",
        booktitle = "Proceedings of the 15th Python in Science Conference",
        year      = 2017,
        address   = "Austin, Texas",
        month     = jul,
        url       = "https://arxiv.org/pdf/1710.06915.pdf"
    }
    Pattern matching is a powerful tool for symbolic computations, based on the well-defined theory of term rewriting systems. Application domains include algebraic expressions, abstract syntax trees, and XML and JSON data. Unfortunately, no lightweight implementation of pattern matching as general and flexible as Mathematica exists for Python Mathics,MacroPy,patterns,PyPatt. Therefore, we created the open source module MatchPy which offers similar pattern matching functionality in Python using a novel algorithm which finds matches for large pattern sets more efficiently by exploiting similarities between patterns.
    abstractwebPDFbibtexhide