<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/~yorgey/forest/default.xsl"?>
<fr:tree xmlns:fr="http://www.forester-notes.org" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:xml="http://www.w3.org/XML/1998/namespace" root="false" base-url="/~yorgey/forest/">
  <fr:frontmatter>
    <fr:authors>
      <fr:author>
        <fr:link href="/~yorgey/forest/brentyorgey/" title="Brent A. Yorgey" uri="http://ozark.hendrix.edu/~yorgey/forest/brentyorgey/" display-uri="brentyorgey" type="local">Brent A. Yorgey</fr:link>
      </fr:author>
    </fr:authors>
    <fr:date>
      <fr:year>2023</fr:year>
      <fr:month>8</fr:month>
      <fr:day>14</fr:day>
    </fr:date>
    <fr:uri>http://ozark.hendrix.edu/~yorgey/forest/yorgey-disco-2023/</fr:uri>
    <fr:display-uri>yorgey-disco-2023</fr:display-uri>
    <fr:route>/~yorgey/forest/yorgey-disco-2023/</fr:route>
    <fr:title text="Disco: A Functional Programming Language for Discrete Mathematics">Disco: A Functional Programming Language for Discrete Mathematics</fr:title>
    <fr:taxon>Reference</fr:taxon>
    <fr:meta name="venue">
      <fr:link href="/~yorgey/forest/tfpie-2023/" title="TFPIE '23: Trends in Functional Programming in Education" uri="http://ozark.hendrix.edu/~yorgey/forest/tfpie-2023/" display-uri="tfpie-2023" type="local"><html:em>TFPIE</html:em> '23: Trends in Functional Programming in Education</fr:link>
    </fr:meta>
    <fr:meta name="doi">10.4204/EPTCS.382.4</fr:meta>
    <fr:meta name="bibtex"><![CDATA[@Inproceedings{yorgey-disco-2023,
  author    = {Yorgey, Brent A.},
  year      = {2023},
  title     = {Disco: A Functional Programming Language for Discrete Mathematics},
  editor    = {Machkasova, Elena},
  booktitle = {{\rm Proceedings Twelfth International Workshop on}
               Trends in Functional Programming in Education,
               {\rm Boston, Massachusetts, USA, 12th January 2023}},
  series    = {Electronic Proceedings in Theoretical Computer Science},
  volume    = {382},
  publisher = {Open Publishing Association},
  pages     = {64-81},
  doi       = {10.4204/EPTCS.382.4},
}]]></fr:meta>
    <fr:meta name="pdf">http://ozark.hendrix.edu/~yorgey/pub/disco-tfpie23.pdf</fr:meta>
    <fr:meta name="repo">https://github.com/disco-lang/disco</fr:meta>
    <fr:meta name="slides">http://ozark.hendrix.edu/~yorgey/pub/disco-tfpie23-talk.pdf</fr:meta>
  </fr:frontmatter>
  <fr:mainmatter>
    <html:p><fr:link href="/~yorgey/forest/000N/" title="Disco" uri="http://ozark.hendrix.edu/~yorgey/forest/000N/" display-uri="000N" type="local">Disco</fr:link> is a pure, strict, statically typed functional programming language designed to be used in the setting of a discrete mathematics course. The goals of the language are to introduce students to functional programming concepts early, and to enhance their learning of mathematics by providing a computational platform for them to play with. It features mathematically-inspired notation, property-based testing, equirecursive algebraic types, subtyping, built-in list, bag, and finite set types, a REPL, and student-focused documentation. Disco is implemented in Haskell, with source code available on GitHub, and interactive web-based REPL available through replit.</html:p>
  </fr:mainmatter>
  <fr:backmatter>
    <fr:tree show-metadata="false" hidden-when-empty="true">
      <fr:frontmatter>
        <fr:authors />
        <fr:title text="References">References</fr:title>
      </fr:frontmatter>
      <fr:mainmatter />
    </fr:tree>
    <fr:tree show-metadata="false" hidden-when-empty="true">
      <fr:frontmatter>
        <fr:authors />
        <fr:title text="Context">Context</fr:title>
      </fr:frontmatter>
      <fr:mainmatter />
    </fr:tree>
    <fr:tree show-metadata="false" hidden-when-empty="true">
      <fr:frontmatter>
        <fr:authors />
        <fr:title text="Backlinks">Backlinks</fr:title>
      </fr:frontmatter>
      <fr:mainmatter>
        <fr:tree show-metadata="true" expanded="false" toc="false" numbered="false">
          <fr:frontmatter>
            <fr:authors />
            <fr:date>
              <fr:year>2023</fr:year>
              <fr:month>8</fr:month>
              <fr:day>24</fr:day>
            </fr:date>
            <fr:uri>http://ozark.hendrix.edu/~yorgey/forest/000A/</fr:uri>
            <fr:display-uri>000A</fr:display-uri>
            <fr:route>/~yorgey/forest/000A/</fr:route>
            <fr:title text="New Disco paper published">New Disco paper published</fr:title>
          </fr:frontmatter>
          <fr:mainmatter>
            <html:p>My paper, <fr:link href="/~yorgey/forest/yorgey-disco-2023/" title="Disco: A Functional Programming Language for Discrete Mathematics" uri="http://ozark.hendrix.edu/~yorgey/forest/yorgey-disco-2023/" display-uri="yorgey-disco-2023" type="local">Disco: A Functional Programming Language for Discrete Mathematics</fr:link>, has been published in the proceedings of <fr:link href="/~yorgey/forest/tfpie-2023/" title="TFPIE '23: Trends in Functional Programming in Education" uri="http://ozark.hendrix.edu/~yorgey/forest/tfpie-2023/" display-uri="tfpie-2023" type="local"><html:em>TFPIE</html:em> '23: Trends in Functional Programming in Education</fr:link>.</html:p>
          </fr:mainmatter>
        </fr:tree>
      </fr:mainmatter>
    </fr:tree>
    <fr:tree show-metadata="false" hidden-when-empty="true">
      <fr:frontmatter>
        <fr:authors />
        <fr:title text="Related">Related</fr:title>
      </fr:frontmatter>
      <fr:mainmatter>
        <fr:tree show-metadata="true" expanded="false" toc="false" numbered="false">
          <fr:frontmatter>
            <fr:authors />
            <fr:uri>http://ozark.hendrix.edu/~yorgey/forest/000N/</fr:uri>
            <fr:display-uri>000N</fr:display-uri>
            <fr:route>/~yorgey/forest/000N/</fr:route>
            <fr:title text="Disco">Disco</fr:title>
          </fr:frontmatter>
          <fr:mainmatter>
            <html:p><fr:link href="https://github.com/disco-lang/disco" type="external">Disco</fr:link> is a functional
teaching language for <fr:link href="/~yorgey/forest/0020/" title="MATH 240, Discrete Mathematics" uri="http://ozark.hendrix.edu/~yorgey/forest/0020/" display-uri="0020" type="local">discrete mathematics</fr:link>, implemented in
Haskell.  <fr:link href="/~yorgey/forest/heinrichapfelmus/" title="Heinrich Apfelmus" uri="http://ozark.hendrix.edu/~yorgey/forest/heinrichapfelmus/" display-uri="heinrichapfelmus" type="local">Heinrich Apfelmus</fr:link> recently built a <fr:link href="https://disco-lang.github.io/disco-live/" type="external">basic web
UI</fr:link> for students to be able
to use Disco in their browser, and I'm using it to teach <fr:link href="/~yorgey/forest/0020/" title="MATH 240, Discrete Mathematics" uri="http://ozark.hendrix.edu/~yorgey/forest/0020/" display-uri="0020" type="local">MATH 240, Discrete Mathematics</fr:link> this semester.</html:p>
            <fr:tree show-metadata="false">
              <fr:frontmatter>
                <fr:authors />
                <fr:title text="Related talks and papers">Related talks and papers</fr:title>
              </fr:frontmatter>
              <fr:mainmatter>
                <fr:tree show-metadata="true" expanded="false" toc="false" numbered="false">
                  <fr:frontmatter>
                    <fr:authors>
                      <fr:author>
                        <fr:link href="/~yorgey/forest/brentyorgey/" title="Brent A. Yorgey" uri="http://ozark.hendrix.edu/~yorgey/forest/brentyorgey/" display-uri="brentyorgey" type="local">Brent A. Yorgey</fr:link>
                      </fr:author>
                    </fr:authors>
                    <fr:date>
                      <fr:year>2023</fr:year>
                      <fr:month>8</fr:month>
                      <fr:day>14</fr:day>
                    </fr:date>
                    <fr:uri>http://ozark.hendrix.edu/~yorgey/forest/yorgey-disco-2023/</fr:uri>
                    <fr:display-uri>yorgey-disco-2023</fr:display-uri>
                    <fr:route>/~yorgey/forest/yorgey-disco-2023/</fr:route>
                    <fr:title text="Disco: A Functional Programming Language for Discrete Mathematics">Disco: A Functional Programming Language for Discrete Mathematics</fr:title>
                    <fr:taxon>Reference</fr:taxon>
                    <fr:meta name="venue">
                      <fr:link href="/~yorgey/forest/tfpie-2023/" title="TFPIE '23: Trends in Functional Programming in Education" uri="http://ozark.hendrix.edu/~yorgey/forest/tfpie-2023/" display-uri="tfpie-2023" type="local"><html:em>TFPIE</html:em> '23: Trends in Functional Programming in Education</fr:link>
                    </fr:meta>
                    <fr:meta name="doi">10.4204/EPTCS.382.4</fr:meta>
                    <fr:meta name="bibtex"><![CDATA[@Inproceedings{yorgey-disco-2023,
  author    = {Yorgey, Brent A.},
  year      = {2023},
  title     = {Disco: A Functional Programming Language for Discrete Mathematics},
  editor    = {Machkasova, Elena},
  booktitle = {{\rm Proceedings Twelfth International Workshop on}
               Trends in Functional Programming in Education,
               {\rm Boston, Massachusetts, USA, 12th January 2023}},
  series    = {Electronic Proceedings in Theoretical Computer Science},
  volume    = {382},
  publisher = {Open Publishing Association},
  pages     = {64-81},
  doi       = {10.4204/EPTCS.382.4},
}]]></fr:meta>
                    <fr:meta name="pdf">http://ozark.hendrix.edu/~yorgey/pub/disco-tfpie23.pdf</fr:meta>
                    <fr:meta name="repo">https://github.com/disco-lang/disco</fr:meta>
                    <fr:meta name="slides">http://ozark.hendrix.edu/~yorgey/pub/disco-tfpie23-talk.pdf</fr:meta>
                  </fr:frontmatter>
                  <fr:mainmatter>
                    <html:p><fr:link href="/~yorgey/forest/000N/" title="Disco" uri="http://ozark.hendrix.edu/~yorgey/forest/000N/" display-uri="000N" type="local">Disco</fr:link> is a pure, strict, statically typed functional programming language designed to be used in the setting of a discrete mathematics course. The goals of the language are to introduce students to functional programming concepts early, and to enhance their learning of mathematics by providing a computational platform for them to play with. It features mathematically-inspired notation, property-based testing, equirecursive algebraic types, subtyping, built-in list, bag, and finite set types, a REPL, and student-focused documentation. Disco is implemented in Haskell, with source code available on GitHub, and interactive web-based REPL available through replit.</html:p>
                  </fr:mainmatter>
                </fr:tree>
              </fr:mainmatter>
            </fr:tree>
          </fr:mainmatter>
        </fr:tree>
        <fr:tree show-metadata="true" expanded="false" toc="false" numbered="false">
          <fr:frontmatter>
            <fr:authors />
            <fr:uri>http://ozark.hendrix.edu/~yorgey/forest/tfpie-2023/</fr:uri>
            <fr:display-uri>tfpie-2023</fr:display-uri>
            <fr:route>/~yorgey/forest/tfpie-2023/</fr:route>
            <fr:title text="TFPIE '23: Trends in Functional Programming in Education"><html:em>TFPIE</html:em> '23: Trends in Functional Programming in Education</fr:title>
            <fr:taxon>Workshop</fr:taxon>
            <fr:meta name="external">https://wiki.tfpie.science.ru.nl/TFPIE2023</fr:meta>
          </fr:frontmatter>
          <fr:mainmatter />
        </fr:tree>
      </fr:mainmatter>
    </fr:tree>
    <fr:tree show-metadata="false" hidden-when-empty="true">
      <fr:frontmatter>
        <fr:authors />
        <fr:title text="Contributions">Contributions</fr:title>
      </fr:frontmatter>
      <fr:mainmatter />
    </fr:tree>
  </fr:backmatter>
</fr:tree>
