@misc{krauss2008defining,
  title={Defining Recursive Functions in {Isabelle/HOL}},
  author={Krauss, Alexander},
  year={2008}
}
@misc{haftmann2013typeclass,
  title={Haskell-style type classes with {Isabelle/Isar}},
  author={Haftmann, Florian},
  year={2013}
}
@article{magalhaes2010generic,
  title={A generic deriving mechanism for {Haskell}},
  author={Magalh{\~a}es, Jos{\'e} Pedro and Dijkstra, Atze and Jeuring, Johan and L{\"o}h, Andres},
  journal={ACM Sigplan Notices},
  volume={45},
  number={11},
  pages={37--48},
  year={2010},
  publisher={ACM}
}
@book{gurnell2017type,
  title={The Type Astronaut's Guide to Shapeless},
  author={Gurnell, Dave},
  year={2017},
  publisher={Lulu. com}
}
@misc{shapeless2018,
    author="{Miles Sabin}",
    title = "shapeless: generic programming for {Scala}",
    year = "2018",
    howpublished = "\url{https://github.com/milessabin/shapeless}",
    note = "[Online; accessed 17-April-2018]"
  }
@book{pierce2002types,
  title={Types and programming languages},
  author={Pierce, Benjamin C},
  year={2002},
  publisher={MIT press}
}
@inproceedings{jones1995functional,
  title={Functional programming with overloading and higher-order polymorphism},
  author={Jones, Mark P},
  booktitle={International School on Advanced Functional Programming},
  pages={97--136},
  year={1995},
  organization={Springer}
}
@book{jones2003haskell,
  title={Haskell 98 language and libraries: the revised report},
  author={Jones, Simon Peyton},
  year={2003},
  publisher={Cambridge University Press}
}
@article{hinze2001derivable,
  title={Derivable type classes},
  author={Hinze, Ralf and Jones, Simon Peyton},
  journal={Electronic notes in theoretical computer science},
  volume={41},
  number={1},
  pages={5--35},
  year={2001},
  publisher={Elsevier}
}
@inproceedings{slind2003applications,
  title={Applications of polytypism in theorem proving},
  author={Slind, Konrad and Hurd, Joe},
  booktitle={International Conference on Theorem Proving in Higher Order Logics},
  pages={103--119},
  year={2003},
  organization={Springer}
}
@inproceedings{sternagel2015deriving,
  title={Deriving comparators and show functions in {Isabelle/HOL}},
  author={Sternagel, Christian and Thiemann, Ren{\'e}},
  booktitle={International Conference on Interactive Theorem Proving},
  pages={421--437},
  year={2015},
  organization={Springer}
}
@article{sternagel2015deriving2,
  author  = {Sternagel, Christian and Thiemann, Ren{\'e}},
  title   = {Deriving class instances for datatypes},
  journal = {Archive of Formal Proofs},
  month   = mar,
  year    = 2015,
  note    = {\url{http://isa-afp.org/entries/Deriving.html},
            Formal proof development},
  ISSN    = {2150-914x},
}
@inproceedings{blanchette2014truly,
  title={Truly modular (co) datatypes for {Isabelle/HOL}},
  author={Blanchette, Jasmin Christian and H{\"o}lzl, Johannes and Lochbihler, Andreas and Panny, Lorenz and Popescu, Andrei and Traytel, Dmitriy},
  booktitle={International Conference on Interactive Theorem Proving},
  pages={93--110},
  year={2014},
  organization={Springer}
}
@inproceedings{biendarra2017foundational,
  title={Foundational (Co) datatypes and (Co) recursion for Higher-Order Logic},
  author={Biendarra, Julian and Blanchette, Jasmin Christian and Bouzy, Aymeric and Desharnais, Martin and Fleury, Mathias and H{\"o}lzl, Johannes and Kun{\v{c}}ar, Ond{\v{r}}ej and Lochbihler, Andreas and Meier, Fabian and Panny, Lorenz and others},
  booktitle={International Symposium on Frontiers of Combining Systems},
  pages={3--21},
  year={2017},
  organization={Springer}
}
@book{nipkow2002isabelle,
  title={{Isabelle/HOL}: a proof assistant for higher-order logic},
  author={Nipkow, Tobias and Paulson, Lawrence C and Wenzel, Markus},
  volume={2283},
  year={2002},
  publisher={Springer Science \& Business Media}
}
@misc{wenzel2004isabelle,
  title={The {Isabelle/Isar} reference manual},
  author={Wenzel, Makarius and others},
  year={2004}
}
@misc{wenzel2013isabelle,
  title={The {Isabelle/Isar} Implementation},
  author={Wenzel, Makarius and Haftmann, Florian and Paulson, Larry},
  year={2013}
}
@inproceedings{de2014true,
  title={True sums of products},
  author={de Vries, Edsko and L{\"o}h, Andres},
  booktitle={Proceedings of the 10th ACM SIGPLAN workshop on Generic programming},
  pages={83--94},
  year={2014},
  organization={ACM}
}
