<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Programming in PLP - A Case Study</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Angelika Kimmig</string-name>
          <email>kimmiga@cardiff.ac.uk</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Cardi University</institution>
          ,
          <country country="UK">UK</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Many PLP programs combine a xed set of readable rstorder rules with a varying database, with probabilities in one or both of these parts. Examples include models over graph structures in various domains or templated versions of propositional models such as Bayesian networks. The probabilistic program discussed in this talk is di erent: it heavily relies on the programming language aspect of PLP to realise a solver that, given a very basic declarative description of an instance of a class of probability problems, solves that instance by constructing an appropriate model on the y. This solver is part of our end-to-end system for solving probability word problems commonly found in introductory discrete mathematics textbooks. This talk discusses choices made and challenges encountered when building the solver, as well as insights into the trade-o between elegant models and programs that e ectively solve a wide range of instances.</p>
      </abstract>
    </article-meta>
  </front>
  <body />
  <back>
    <ref-list />
  </back>
</article>